长风破浪会有时,直挂云帆济沧海

Dream Word

博客园 首页 新随笔 联系 订阅 管理

数据结构解决的问题:“快” + “省”,即为时间,空间复杂度分析

1:为什么需要复杂度分析?

因为通过统计手段分析的结果受到两个因素的影响,一:测试结果非常依赖测试环境,二:测试结果受数据规模的影响很大

2:大O复杂度表示法

所有代码的执行时间T(n)与每行代码的执行次数n成正比。

T(n) = O(f(n))

3:时间复杂度分析渐进时间复杂度

1:只关注循环执行次数最多的一段代码

2:加法法则:总复杂度等于量级最大的那段代码的复杂度

3:乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积

4:几种常见时间复杂度量级:

多项式量级:

常数阶O(1)

u 对数阶O(logn)

线性阶O(n)

线性对数阶O(nlogn)

平方阶O(n*n),立方阶O(n*n*n)… k方阶O(n*……*n)

非多项式量级:

指数阶O(2*……*2)

阶乘阶O(n!)

5:空间复杂度分析: 渐进空间复杂度

常见的空间复杂度:O(1) O(n) O(n*n)

posted on 2018-11-17 18:06  长风II  阅读(137)  评论(0编辑  收藏  举报