;时间复杂度经验之谈
没有循环的代码称为常量阶(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次执行语句就属于立方阶问题啦
时间: 2024-09-30 14:31:09