图中数组错了
数组是一种具体的存储数据的方式,它可以用来实现线性表,但不是只能用来表示线性表,还可以表示树,也可以表示图。
数组是用一段连续的内存存储,可以随机访问。
线性表用数组实现叫做顺序表,用链表实现没有特殊的名字。
树用数组实现没有特殊的名字,用链表实现没有特殊的名字。
1.逻辑结构:
逻辑结构分为四种类型:集合结构,线性结构,树形结构,图形结构。
1.1 所谓集合结构:
表面意思,没有什么深刻意义,就是数据元素同属一个集合,单个数据元素之间没有任何关系。如下图所示。
1.2 线性结构:
类似于线性关系,也就是说,线性结构中的数据元素之间是一对一的关系。注意:重点在一对一。如下图所示。
1.3 树形结构:
树形结构中的数据元素之间存在一对多的关系。(各元素及元素关系所组成图形类似于树状图)。注意:关系为一对多。如下图所示。
1.4 图形结构:
数据元素之间是多对多的关系。如下图所示。
总结以上几点:用示意图表示数据结构的逻辑关系时要注意:
1.将每一个元素看作为一个结点,用圆圈表示。
2.将各个元素之间的关系用结点之间的连线表示,如果该关系有方向,则用带箭头的连线表示。
2.物理结构(存储结构):
物理结构又叫存储结构,分为四种种,顺序存储结构、链式存储结构、索引结构、散列结构。
2.1 顺序存储结构:
一段连续的内存空间。
优点:随机访问
缺点:插入删除效率低,大小固定
2.2 链式存储结构:
不连续的内存空间
优点:大小动态扩展,插入删除效率高
缺点:不能随机访问。
2.3 索引存储结构:
为了方便查找,整体无序,但索引块之间有序,需要额外空间,存储索引表。除数据元素存储在一组地址连续的内存空间外,还需建立一个索引表,索引表中索引指示存储结点的存储位置(下标)或存储区间端点(下标)。
优点:对顺序查找的一种改进,查找效率高
缺点:需额外空间存储索引
2.4 散列存储结构:
选取某个函数,数据元素根据函数计算存储位置可能存在多个数据元素存储在同一位置,引起地址冲
优点:查找基于数据本身即可找到,查找效率高,存取效率高。
缺点:只能按关键字随机存取,不能顺序存取,也不能折半存取。存取随机,不便于顺序查找。