数据结构学习笔记(一)
1 学习目录
2 数据结构基本概念
2.1 数据
2.2 数据元素
2.3 数据项
2.4 数据对象
2.5 关系
2.6 数据结构
2.6.1 数据结构概念
2.6.2 数据结构内容
2.6.3 数据结构两个层次
2.6.3.1 逻辑结构种类
划分方式一:
- 线性结构
- 非线性结构
划分方式二:
- 集合结构
- 线性结构
- 树形结构
- 图状结构
2.6.3.2 存储结构种类
-
顺序存储结构
-
链式存储结构
-
索引存储结构(了解)
-
散列存储结构(了解)
2.7 数据类型和抽象数据类型
2.7.1 数据类型的作用
- 约束变量或常量的取值范围
- 约束变量或常量的操作
2.7.2 抽象数据类型(ADT)
3 算法和算法分析
3.1 算法的定义
3.2 算法与程序关系
3.3 算法设计的要求
3.4 算法效率
- 时间效率:算法所耗费的时间
- 空间效率:算法执行过程中所耗费的存储空间
时间效率和空间效率有时候是矛盾的
3.4.1 算法时间效率的度量
3.4.1.1 算法时间复杂度的渐进表示法
为了便于比较不同算法的时间效率,仅比较它们的数量级
3.4.1.1 分析算法时间复杂度的基本方法
3.4.1.2 分析算法时间复杂度的例子
- 有的情况下,算法中基本操作重复执行的次数还随问题的输入数据集不同而不同
- 对于复杂的算法,可以将它分成几个容易估算的部分,然后利用大O加法法则和乘法法则,计算算法的时间复杂度
- 时间复杂度按数量级递增顺序为: