01.数据结构算法指引
目录介绍
- 01.为何要复杂度分析
- 02.大O复杂度表示法
- 2.1 先分析两个案例
- 2.2 总结案例的规律
01.为何要复杂度分析
- 把代码跑一遍,通过统计、监控,就能得到算法执行的时间和占用的内存大小。为什么还要做时间、空间复杂度分析呢?
- 首先肯定的说,这种评估算法执行效率的方法是正确的。很多书籍管这种方法叫“事后统计法”。但是这种方法有很大的局限性:
- 测试结果非常依赖测试环境:如测试环境中的硬件对测试结果影响很大。
- 测试结果受数据规模的影响很大。如小规模的数据,插入排序反而比快速排序快。
- 首先肯定的说,这种评估算法执行效率的方法是正确的。很多书籍管这种方法叫“事后统计法”。但是这种方法有很大的局限性:
- 使用复杂度分析有什么好处?
- 需要一个不用具体数据来测试,就可以粗略的估算执行效率的方法。
02.大O复杂度表示法
2.1 先分析两个案例
- 算法的执行效率,粗略的讲,就是算法的执行时间。
- 例子1:
//这里有段简单的代码,求1到n的累加和。 int cl