时间复杂度常用阶级的例子

   常数阶 :O(1)

   int sum=0 , n=100 ; 执行一次

   sum= (1+n) * n / 2 ; 执行一次

   一般一个句子(不是循环里的)执行一次

   对数阶:O(logn)  

   int i=1;

   while(i<n)

{  

 i=i*2;

}

  i每次都乘2,设要执行x次循环才结束

  则2的x次方=n ,要执行x=log2的n次

   线性阶:O(n)  

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

{

        时间复杂度为O(1)的句子;

}

平方阶:O(n²) 

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

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

      {

            时间复杂度为O(1)的句子;

 }

时间复杂度为O(n²)

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

     for(int j=0;j<m;j++)

    {

            时间复杂度为O(1)的句子;

      }

时间复杂度为O(n*m)

其他的算法复杂度都太大了,一般用不着。

毕竟算法追求的是速度,所以算法复杂度一般不会大于O(n³)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值