在比较算法的时候,我们似乎类似说一些“算法A比算法B快两倍”之类的话,但实际上这类陈述没多大的意义。这是因为数据项的个数发生变化时,对应的比例也会发生改变。
1、无序数组的插入:常数
向一个无序数组中插入一条数据的时间复杂度为一常数,不论数据项的个数N有多大,即T=K;
2、线性查找:与N成正比
T=K*N/2;让新K值为K除以2则T=K*N;
3.二分查找:与log(N)成正比
二分查找是与底数为2的对数成正比的,从底数为2转换到底数为10需乘以3.322;将该常数合并入K;
T=K*log(N);
以B为底A的对数(大概)是在结果小于1之前用B除A的次数。
大O表示法省去了上面公式中的常数K;
O(1)级时间的算法是最好的,O(log(N))次之,O(N)为一般,O(N平方)最差