基础算法学习(04)-算法的时间复杂度计算简明笔记

1、时间复杂度的计算公式

T(n)=O(f(n))
其中T(n)就是指时间复杂度本身
O()是运算符,用以去除低次项和系数,简化叙述
f(n)指程序的所有语句执行次数
n为程序的规模,比如for(int i=0;i

2、简单的分析方法

(1)赋值语句无论有几句复杂度都为O(1)
(2)简单的循环语句,有一层复杂度就为O(n),两层就为O(n2)
(3)循环语句的循环次数随规模而变的,进行简单的计算,如

while (i<=n)  
  i=i*2;  

此时设循环中的执行次数为f(n),由于每循环一次i的值*2,那么i=2^f(n),因此2^f(n)<=n,f(n)=log2n,复杂度为O(f(n))=O(log2n);
(4)各种不同复杂度的语句混合的算法,只看最高复杂度的语句确定时间复杂度

猜你喜欢

转载自blog.csdn.net/sssaaaannnddd/article/details/79469194