什么是数据结构?

简介: 什么是数据结构?

数据结构是计算机存储、组织数据的方式


一、线性结构


1667907817785.jpg

上图就是一个简单的线性表。


线性表是具有n个相同类型元素的有限序列(n>=0)

1667907830237.jpg

a1是首节点(首元素),an是尾节点(尾元素)


a1是a2的前驱, a2是a1的后继


常见的线性表有:数组、链表、栈、队列、哈希表


二、树形结构


1667907848740.jpg


常见的树形结构有:二叉树、AVL树、红黑树、B树、堆、Tire、哈夫曼树、并查集


树的基本概念:


1.节点、根节点、父节点、子节点、兄弟节点


2.一棵树可以没有什么节点,此时为空树


3.一棵树可以只有1个节点,此时为根节点


4.节点的度:子树的个数


5.树的度:所有节点度中的最大值


6.叶子节点:度为0的节点


7.非叶子节点:度不为0的节点


8. 层数:根节点在第一层,根节点的子节点在第二层,依次类推


9.节点的深度:从根节点到当前节点的唯一路径上的节点总数


10.节点的高度:从当前节点到最远叶子节点的路径上的节点总数


11.树的深度:所有节点深度中的最大值


12.树的高度:所有节点高度中的最大值


13.树的深度等于树的高度


三、图形结构


1667907870403.jpg


图由顶点和边组成,一般表示为G=(V,E)


G表示一个图,V是顶点集,E是边集


顶点集V有穷且非空


任意两个顶点之间都可以用边来表示它们之间的关系,边集E可以是空的


1667907886845.jpg


总结


在实际应用中,可以根据使用场景来选择最合适的数据结构


相关文章
|
2月前
|
C++
数据结构(循环单链表
数据结构(循环单链表
17 2
|
2月前
|
存储 算法
【数据结构】什么是数据结构?
【数据结构】什么是数据结构?
16 0
|
2月前
|
存储 算法 前端开发
了解数据结构
了解数据结构相关知识
|
2月前
|
存储 算法 索引
数据结构每日回顾
数据结构每日回顾
22 1
|
9月前
|
存储 算法 搜索推荐
【BaseArray 数据结构】
【BaseArray 数据结构】
|
11月前
|
存储 算法
【数据结构】这堆是什么
【数据结构】这堆是什么
|
11月前
|
存储 机器学习/深度学习
|
11月前
|
存储 算法 C语言
|
存储 机器学习/深度学习 人工智能
对数据结构的初步认识
对数据结构的初步认识
117 0
|
存储 算法 C语言
数据结构成神篇1-初学数据结构
今天我们开始数据结构的学习,当然,这个有些概念是十分抽象的,只看文章是不一定能懂的,或者说会耗费不少的时间。所以我会持续在B站上面更新讲解视频,都是自己的一些理解和想法。会拿出来和大家一起分享,都是免费的。原创不易,希望大家可以三连支持一下,也希望能给大家带来进步。
72 0
数据结构成神篇1-初学数据结构

热门文章

最新文章

  • 1
    流量控制系统,用正则表达式提取汉字
    25
  • 2
    Redis09-----List类型,有序,元素可以重复,插入和删除快,查询速度一般,一般保存一些有顺序的数据,如朋友圈点赞列表,评论列表等,LPUSH user 1 2 3可以一个一个推
    26
  • 3
    Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
    25
  • 4
    Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
    27
  • 5
    S外部函数可以访问函数内部的变量的闭包-闭包最简单的用不了,闭包是内层函数+外层函数的变量,简称为函数套函数,外部函数可以访问函数内部的变量,存在函数套函数
    23
  • 6
    Redis06-Redis常用的命令,模糊的搜索查询往往会对服务器产生很大的压力,MSET k1 v1 k2 v2 k3 v3 添加,DEL是删除的意思,EXISTS age 可以用来查询是否有存在1
    30
  • 7
    Redis05数据结构介绍,数据结构介绍,官方网站中看到
    21
  • 8
    JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
    19
  • 9
    JS数组操作---删除,arr.pop()方法从数组中删除最后一个元素,并返回该元素的值,arr.shift() 删除第一个值,arr.splice()方法,删除指定元素,arr.splice,从第一
    19
  • 10
    定义好变量,${age}模版字符串,对象可以放null,检验数据类型console.log(typeof str)
    19