目录
1.1 数据结构概述
数据结构是计算机存储、组织数据的方式;通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率,这也是判断数据结构优良的两个维度。数据结构的优良将直接影响着我们程序的性能;
通常情况下,这两个维度是相悖的,即:更高的运行效率往往存储效率较低,更高的存储效率往往运行效率较低。
1.2 数据结构的分类
数据结构的世界非常丰富多彩,在学习之前我们必须先给它归类。数据结构一般分为逻辑结构和物理结构这两大总类,在两大总类下还可以细分出其他分类。
逻辑结构:数据元素之间的逻辑联系(关注数据间的关系)
物理结构:数据元素的存放形式(关注数据的存储方式)
1.2.1 逻辑结构
逻辑结构是指数据对象中数据元素之间相互关系(逻辑关系),即从逻辑关系上描述数据。它与数据的存储无关,是独立于计算机存储器的。根据数据元素之间关系的不同特征,通常有下列4类基本结构,复杂程度依次递进。
1)集合
集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;

2)线性结构
线性结构:数据结构中的元素存在一对一的相互关系;

3)树形结构
树形结构:数据结构中的元素存在一对多的相互关系;

4)图形结构
图形结构:数据结构中的元素存在多对多的相互关系;
1.2.2 物理结构
数据的物理结构是指数据的逻辑结构在计算机中的存储方式(就是数据存储在磁盘中的方式)。是数据结构在计算机中的实现方法,包括数据元素的表示和元素之间的关系。
物理结构一般有四种:顺序存储,链式存储,散列,索引。
1)顺序存储
顺序存储结构是把数据元素放在地址连续的存储单元中,程序设计中使用数组类型来实现。(逻辑相邻物理相邻)

2)链式存储
把数据元素存储在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的,程序设计中使用指针类型来实现。(逻辑相邻物理不一定相邻),程序设计中使用链表来实现。

3)散列存储
散列存储结构通过计算元素的散列值直接确定数据元素的物理位置,设计时需处理哈希冲突(如链地址法、开放寻定法)。
数据元素在存储空间中呈分散分布,物理相邻性与逻辑顺序无直接关联,程序设计常通过哈希表结构实现。(逻辑无相邻性,物理位置由哈希函数决定)

最低0.47元/天 解锁文章
1586

被折叠的 条评论
为什么被折叠?



