算法复杂度

列举一下常见的;

O(1)标识常数项复杂度,是最好的时间复杂度,就是你可以看出它只执行常数次的复杂度,不论是1次,两次,还是三次都可以认为是常数项,只要不循环N次就行。它的图示就是一条平行于x轴的线,最低。

O(logn) 对数次时间复杂度,这里重点说明一下,是本人认为最不好理解的复杂度计算,最常见的是在一次循环中,判断循环的条件变量是每次是倍数级的增长,.

比如i=1;i<n;i=i*2,那么,要达到n,就要要有2的k次>=n的时候才会结束循环,而此时,k最小是2的k次方等于n,也就是k=logn,底数是2.所以就是logn次,无论底数是几,只要是这种倍数级增长的循环都可以推断出logn次

O(n)线性次时间复杂度,图示是一条y=kx(k!=0)的直线,最常见的就是一次循环,循环条件为常数级增长

O(nlogn)  其实就是两层循环,其中一层循环的次数是n,另外一层循环的次数是logn,

O(n^2)两层循环的时间复杂度,循环条件为常数级增长

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值