目录标题
- 逻辑结构
- 物理结构
- 算法
- 算法的五特性
- 算法的设计目标
- 算法的时间复杂度
计算机科学家Niklaus Wirth曾提出:算法+数据结构=程序设计
逻辑结构
- 第一种分类方法
集合结构:数据元素属于一个集合
线性结构:数据元素存在一对一的线性关系
树状结构:数据元素存在一对多的线性关系
图形结构:数据元素存在多对多的线性关系
- 第二种分类方法
线性结构:线性表、栈、队列、字符串、数组、广义表
非线性结构:树、图
物理结构
顺序存储结构
非顺序存储结构
算法
算法是规则的有限集合,是为解决特定问题而规定的一系列操作,是解决问题的一种方法或一个过程。
算法的五特性
有限性
确定性
输入
输出
可行性
算法的设计目标
正确性
可读性
健壮性
好的效率
较小的存储空间
算法的时间复杂度
常熟型:O(1)
线性型:O(n)
平方型:O(n^2)
立方型:O(n^3)
指数型:O(2^n)
对数型:O(log2n)
二维型:O(nlog2n)
时间复杂度由小到大: 常数型<对数型<线性型<二维型<平方型<立方型<指数型