时间复杂度
来源:互联网 发布:深圳网络教育机构 编辑:程序博客网 时间:2024/04/28 09:29
常见的算法时间复杂度由小到大依次为 :
O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<...<O(2n)<O(n!)
O(1)表示基本语句执行的次数是一个常数,一般来说,只要不存在循环语句,其时间复杂度就是O(1);
O(log2n) , O(N) , O(nlog2n) , O(n2) 和 O(n3) 称为多项式时间 ,;
O(2n) , O(n!)称为指数时间复杂度
计算复杂度分析法则 :
1) 对于一些简单的输入输出语句或赋值语句,近似认为需要O(1)时间 ;
2) 对于顺序结构,需要一次执行一系列语句所要的时间采用大O下"求和法则"
求和法则 : 是指若算法的2个部分的时间复杂度分别为 T1(n)=O(f(n)) 和 T2(n)=O(g(n)),则T1(n)+T2(n)=O(max(f(n) , g(n)))
特别的 T1(m)=O(f(m)) , T2(m)=O(g(m)),则T1(m)+T2(n) = O(f(m)+g(n))
3) 对于选择结构,比如if语句,他的主要时间消耗在then或者else语句里,需要主要的是检索语句也需要O(1)的时间
4) 对于循环结构.循环语句的运行时间主要体现在多次迭代中执行循环体以及检验循环天剑的时间耗费,一般可用大O下"乘法法则"
乘法法则 : 是指若算法的2个部分时间复杂度分别为 T1(n)=O(fn) 和 T2(n) = O(g(n)) , 则T1*T2 =O(f(n)*g(n))
5) 对于复杂的算法,可以将它分成几个容易估算的部分,然后利用求和法则和乘法法则计算整个算法的时间复杂度
0 0
- 时间复杂度,空间复杂度
- 时间复杂度&空间复杂度
- 时间复杂度 & 空间复杂度
- 时间复杂度、空间复杂度
- 时间复杂度 空间复杂度
- 时间复杂度&空间复杂度
- 时间复杂度/空间复杂度
- 时间复杂度+空间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- opencv颜色识别和操作
- Oracle12c中SQL优化(SQL TUNING)新特性之SQL计划指令
- 【bzoj1305】[CQOI2009]dance跳舞 最大流
- Codeforces Round #345 (Div. 2) (D. Image Preview(二分))
- NVIDIA Jetson TK1学习与开发(五):helloworld的C版本与C++版本
- 时间复杂度
- HDU 1556 数组巧用
- 声明一个指向含有10个元素的数组的指针,其中每个元素是一个函数指针,该函数的返回值是int,参数是int*,正确的是()
- Problem G: C语言习题 输出月份
- windows客户端开发--为你的客户端增加消息提示音
- Unity3D:unity与Android相互传递消息 & unity与ios相互传递消息
- Boost库学习
- 维护IOS项目时遇到的一些问题
- JAVA调用条码打印机打印二维码