时间复杂度,与程序执行次数有关,用大O法表示。
判断一个算法的效率,关注主项(最高项)的阶数,可忽略函数中的常数项与次要项
- O(1)
print_r('kk');//只执行一次
- O(n)
for($i=0;$i<n;$i++){
print_r('kk');//执行n次
}
- O(n^2)
for($i=0;$i<n;$i++){
for($j=0;$j<n;$j++){
print_r("kk");//执行n*n次
}
}
- O(n^3)
for($i=0;$i<n;$i++){
for($j=0;$j<n;$j++){
for($k=0;$k<n;$k++){
print_r("kk");//执行n*n*n次
}
}
}
- O(logn)
for($i=2;$i<n;$i++){
$i*=2;//假设执行k次,2^k<n,则k=logn。此部分的$i++部分为次要项
}