1. 算法的复杂度
- 时间复杂度:算法运行后对时间需求量的定性描述
- 空间复杂度:算法运行后对空间需求量的定性描述
注意:数据结果课程重点关注的是算法的效率问题,因此整个课程会几种讨论算法的时间复杂度;但其使用的方法完全可以用于空间复杂度的判断。
2. 算法的时间复杂度
(1) 大O表示法
- 算法效率严重依赖于操作(Operation)数量
- 操作数量的估算可以作为时间复杂度的估算
- 在判断时首先关注操作数量的最高次项
(2) 常见的时间复杂度
线性阶时间复杂度
对数阶时间复杂度
平方阶时间复杂度
3. 小结
- 时间复杂度是算法运行时对时间的需求量
- 大O表示法用于描述算法的时间复杂度
- 大O表示法只关注操作数量的最高次项
- 常见的时间复杂度为:线性阶、平方阶和对数阶
声明:此文章仅是本人在学习狄泰学院《数据结构实战开发教程》所做的笔记,文章中包含狄泰软件资料内容,一切版权归狄泰软件所有!
实验环境:ubuntu10 + Qt Creator2.4.1 + Qt SDK 4.7.4