基本概念
- 数据:信息载体,描述属性的数、字符等符号。
- 数据元素:数据的基本单位;由多个数据项组成,数据项不可分割。
- 数据对象:具有相同性质的数据元素的集合。是数据的子集。
- 数据类型:一个值的集合和对其定义的一组操作的总称。
- 原子类型:不可分割
- 结构类型:可分割
- 抽象数据类型
- 数据结构:有特定关系的数据元素的集合。这种特定关系又称为结构(structure)
- 逻辑结构
- 存储结构
- 数据的运算
算法的设计取决于所选定的逻辑结构,算法的实现依赖与采用的存储结构。
数据结构三要素
逻辑结构
- 线性结构:一对一
- 线性表
- 栈和队列、串(受限线性表)
- 数组(推广线性表)
- 非线性结构
- 集合
- 树形结构:一对多
- 树
- 二叉树
- 图状结构:多对多
- 有向图
- 无向图
存储结构
数据结构在计算机中的表示(映像)。也叫 物理结构。
- 顺序存储
逻辑上相邻的元素物理上也相邻。
优:省空间,随机存取
缺:外部碎片多
- 链式存储
物理上不要求相邻
优:无碎片
缺:只能顺序存取,指针占额外空间
- 索引存储
除存储的信息,还存储一个索引表
优:检索速度快
缺:占额外空间,增删有额外时间(索引表修改)
- 散列存储
根据元素的关键字直接计算出存储地址
优:检索、增删速度快
缺:散列函数不好,可能出现冲突
数据的运算
- 运算的定义:针对逻辑结构
- 运算的实现:针对存储结构
算法评价
算法是对特定问题求解步骤的描述,是有限的指令序列。
- 有穷性
- 确定性:相同的输入得相同的输出
- 可行性
- 输入:有零个或多个输入
- 输出:有一个或多个输出
好的算法:
- 正确性
- 可读性
- 健壮性
- 效率和低存储量需求

浙公网安备 33010602011771号