数据结构
相关概念
程序=数据结构+算法
算法:对特定问题求解方法和步骤的一种描述,是指令的有限序列
算法的描述:
- 自然语言
- 流程图:传统流程图、NS流程图(盒图)
- 伪代码
- 程序代码
算法的特性:
- 有穷性:有穷步之后结束,每一步都在有穷时间内
- 确定性:有确切含义,无二义性
- 可行性:可执行的
- 输入:0或多个输入
- 输出:1或多个输出
算法的设计要求:
- 正确性
- 可读性
- 健壮性
- 高效性
具体问题抽象为数学模型:
- 分析问题
- 提取操作对象
- 找出操作对象之间的关系
- 用数学语言描述 ->数据结构
- 数据:
- 能输入计算机并能被计算机处理的各种符号的集合
- 信息的载体
- 对客观事物的符号化表示
- 能被计算机识别、存储、加工
- 数据元素/元素/记录/顶点/结点:数据的基本单位,在计算机中通常作为一个整体进行考虑

- 数据项:构成数据元素的不可分割的最小单位
数据>数据元素>数据项
数据对象:性质相同的数据元素的集合,是数据的子集
数据结构:数据元素相互之间的关系
-
逻辑结构;是数据结构的抽象
-
线性结构:有且仅有一个开始和一个重点结点,并且一个结点只有直接前驱和一个直接后继,如:线性表、队列、串、栈
-
非线性结构:(一对多或多对多)一个结点可能有多个直接前驱和直接后继,如:树、图
-
集合结构:结构中的数据元素除了在一个集合外,无其他关系
-
线性结构:结构中的数据元素存在一对一的线性关系
-
树形结构:结构中的数据元素存在一对多的层次关系
-
图状结构:结构中的数据元素存在多对多的任意结构
-
-
存储结构(物理结构):数据元素及其关系在计算机内存中的表示(映像);是数据结构的实现
-
顺序存储结构:用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示(C语言中的数组)
-
连式存储结构:用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针表示(C语言中的指针);存储了元素本身还存储了下一个元素的地址
-
索引存储结构:在存储结点信息的同时,还建立附加的索引表
-
散列存储结构:根据结点的关键字直接计算出该结点的存储地址
-
-
数据的运算和实现:对数据元素可以施加的操作,以及这些操作在相应存储结构上的实现
浙公网安备 33010602011771号