码迷,mamicode.com
首页 > 编程语言 > 详细

Chapter3 复杂度分析(上):如何分析,统计算法的执行效率和资源消耗

时间:2018-11-17 19:09:34      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:结果   family   时间复杂度   依赖   复杂   class   nlog   执行   测试结果   

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

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)

Chapter3 复杂度分析(上):如何分析,统计算法的执行效率和资源消耗

标签:结果   family   时间复杂度   依赖   复杂   class   nlog   执行   测试结果   

原文地址:https://www.cnblogs.com/zhaohu/p/9974988.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!