数据结构三要性:
- 数据的逻辑结构:
- 集合:各个元素同属一个集合,别无其它关系;
- 线性结构:数据元素之间一对一关系;除了第一个元素所有元素都有唯一前驱,除了最后一个元素,所有元素都要唯一后继;
- 树形结构:数据元素之间存在一对多的关系
- 图形结构(网状结构):数据元素之间多对多的关系
- 数据的存储结构:
- 顺序存储:把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系有存储单元的邻接关系来体现
- 链式存储:逻辑上相邻的元素存储在物理位置可以不相邻,借助指示元素存储地址的指针来表示元素之间的逻辑关系
- 索引存储:在存储信息的同时,还建立附加的索引表。索引表中的每项陈伟索引项,索引项的一般形式是(关键字,地址)
- 散列存储:根据元素的关键字直接计算出该元素的存储地址,又称哈希存储
总结:
-
顺序存储,元素在物理位置上必须是连续的;非顺序存储(2-4),元素在物理上是离散的;
-
存储结构会影响存储空间的分配的方便程度和对数据运算的速度
-
数据的运算:
- 数据上的运算包括运算的定义和实现
- 运算的定义是针对逻辑结构的,指出运算的功能;运算的实现是针对存储结构的,指出运算的具体操作步骤