最近开始复习数据结构,就把每一章的内容做一个总结,方便自己后期查看,大家共享。
绪论
数据结构三要素
- 逻辑结构
1. 线性结构:线性表,栈,队列
2. 非线性结构:集合,树,图 - 存储结构(物理结构)
-
顺序存储
1. 优点:随机存取 2. 缺点:只能使用相邻的一整块存储单元,产生外部碎片
-
链式存储
1. 优点:不会出现碎片,充分利用存储单元 2. 缺点:每个元素印存储指针需要额外的存储空间,只能顺序存取
-
索引存储
1. 优点:检索速度快 2. 缺点:增加了索引表,占空间;增加和删除数据,花费时间多
-
散列存储
1. 优点:检索、增加、删除数据快 2. 缺点:若散列函数不好,会元素存储单元冲突,解决冲突会增加时间空间开销。
- 数据的运算
运算的定义是针对逻辑结构
运算的实现是针对存储结构
算法
- 数据结构 + 算法 = 程序;
- 五个特性
有穷性、确定性、可行性、输入、输出 - 时间复杂度
不仅依赖于问题的规模n,也取决于待输入数据的性质 - 空间复杂度