算法的时间复杂度

   算法的时间复杂度就是运行这个算法的运行时间。 例如 :

  把执行一个句子的运行时间作一个时间单元      int i; 的时间复杂度就是O(1)

for(int i=0;i<n;i++)

{

cout<<"yes"<<endl;

}

int i ; 执行1次      i<n ; 执行n+1次     i++执行n次

cout<<"yes"<<endl; 执行n次

这个算法一共执行了3n+2次

但n很大时2可以忽略不计,去掉2

3n的时间复杂度记作O(n) , 系数都化作1

时间复杂度的阶级大小:

O(1)<O(logn)<O(n)<O(nlogn)<O(n²)<O(n³)<O(2的n次方)<O(n!)<O(n的n次方)

就像它们的数学图像一样

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pel5L2c5pyI5oGv,size_20,color_FFFFFF,t_70,g_se,x_16

 

所以时间复杂度只用看最大的阶级就行了,其他的都可以忽略,例如:运行3n²+2n+1次的时间复杂度为O(n²)

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值