大O表示法
概念:
一种粗略的度量方法。
描述算法的速度是如何与数据项的个数相联系的大O表示法:
无序数组的插入:常数:
无序数组的插入是与数据项个数无关的一个算法。新数据项总是被放在下一个位置,然后 数据项个数增加,无关乎数据项个数N。故对于无序数组的插入,所需的 时间看做一个常数T = K。表示为O(1)
线性查找:与N成正比:
线性查找中,对于特定数据项的查找所需的比较次数平均为数据项的一半。故 T=K*N/2,进而简化T=K*N。即线性查找时间与数组大小成正比。表示为O(N)
二分查找:与log(N)成正比:
T=K*log(N),数据项越大,所需的查找增长率会越小。表示为O(log(N))