算法时间复杂度的计算
来源:互联网 发布:淘宝客服打字慢可以吗 编辑:程序博客网 时间:2024/06/08 05:39
一、概念
时间复杂度:总运算次数表达式中受到N的影响最大的那一项
二、概念解释
由于机器运行环境等的影响,代码的运算时间并不能准确的测算出来。但是,运算之间和算法中语句的执行次数是成正比的,所以可以用语句之行次数来表征时间复杂度的大小
三、计算方法
在计算算法的时间复杂度的时候,先找出基本操作,再根据算法语句计算出该操作的执行次数,最后确定执行次数的数量级
四、常见的算法复杂度:
1)常数阶:O(1)
2)对数阶:O(logN)
3)线性阶:O(N)
4)线性对数阶:O(N*logN)
5)平方阶:O(N^2)
五、计算的小Tips
1)找执行次数最多的语句,基本上就是内存循环的循环体(嵌套调用其实就是变身版的for循环语句)
2)只需要找执行次数的数量级,不需要特别准确的执行次数的数字
六、举个例子
O(log2(N))
public static void main(String[] args) {int i=0;int N = 100;while( i < N ){i = i * 2; //基本语句}}
很明显可以看出,这段代码的基本语句就是while循环的循环体
假设基本语句的执行次数是 f(n),那么就有 2^f(n) <= N,转换一下就有 f(n) <= log2(N), 取f(n)的最大值,于是就有f(n) = log2(N)
也就是说时间复杂度是 O(log2(N))
0 0
- 算法时间复杂度的计算
- 算法时间复杂度的计算
- 算法时间复杂度的计算
- 算法时间复杂度的计算
- 算法时间复杂度的计算
- 算法时间复杂度的计算
- 算法的时间复杂度计算
- 算法时间复杂度的计算
- 算法时间复杂度的计算
- 算法时间复杂度的计算
- 算法时间复杂度的计算
- 算法时间复杂度的计算
- 算法时间复杂度的计算
- 算法时间复杂度的计算
- 算法的时间复杂度计算
- 算法时间复杂度的计算
- 算法时间复杂度的计算
- 算法时间复杂度的计算
- 三方分享长图、大图
- 静态库支持bitcode
- Anaconda for cluster management安装与配置
- WebSocket WebSocket的简单用法 WebSocket的使用
- Linux下./configure参数详解
- 算法时间复杂度的计算
- 图算法—Problem A
- 419 含义
- 安卓app,iOS二维码下载链接FIR
- 【leetcode】35. Search Insert Position
- 19. Remove Nth Node From End of List
- SaaS营销网站的剖析——SaaS品牌化
- JQ验证插件的使用
- hadoop使用场景