码迷,mamicode.com
首页 > 其他好文 > 详细

时间复杂度经验之谈

时间:2016-06-05 23:04:11      阅读:315      评论:0      收藏:0      [点我收藏+]

标签:

;时间复杂度经验之谈
没有循环的代码称为常量阶(O(1)),常量阶不能是循环
大部分单重循环为线性阶O(n)
双重循环为平方阶O(n2)
三重循环为立方阶O(n3)
 
折半查找法为对数阶算法,如果一个一重循环不是常量阶,又不是线性阶,那么这个算法肯定是对数阶
 
;时间复杂度总结
;求解问题的规模即(多大的问题),语句频度(求解问题所需语句的总和) 
时间复杂度(算法执行时间的增长率)如 确定的3次 而不是n次解决 那么时间复杂度为常量阶,如输出个helloworld,只要1次执行语句就能解决问题
 
如果不管执行语句执行怎么增长,但是增长到n次能解决的问题 属于线性阶问题,如单重循环只需要循环n次就能确保解决问题,即为线性阶
 
如果执行语句增长超过了n次,极为n2 平方阶的问题,常见的有双重循环肯定是最少n*n次语句才能解决问题 即为平方阶问题
 
如果执行语句的增长超过了n*n次即为n^(3) n*n*n次执行语句才能解决问题,这就是立方阶问题
常见的三重循环最少n*n*n次执行语句就属于立方阶问题啦
 
 

 

时间复杂度经验之谈

标签:

原文地址:http://www.cnblogs.com/jk0011/p/5561950.html

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