算法时间复杂度的表示法O(n²)、O(n)、O(1)、O(nlogn)


时间复杂度这个东西,其实更准确点说应该是描述一个算法在问题规模不断增大时对应的时间增长曲线。

所以,这些增长数量级并不是一个准确的性能评价,可以理解为一个近似值,时间的增长近似于logN、NlogN的曲线。



简单理解:就是变量为n的时候,算法需要对变量操作次数的量级。

比如:

要找到一个数组里面最大的一个数,你要把n个变量都扫描一遍,操作次数为n,那么算法复杂度是O(n).

用冒泡排序排一个数组,对于n个变量的数组,需要交换变量位置n^2 次,那么算法复杂度就是O(n^2 ).

有时候,如果对变量操作的次数是个多项式比如n^4+n^2+n, 就取数量级最大的那个,O(n^4)


详见知乎https://www.zhihu.com/question/21387264


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值