关于算法复杂度
1.排序算法
对于长度为N的数组任意数组
1)选择排序:
N2次比较和N次交换
2)插入排序:
平均情况N2 /4次比较和N2 /4和交换
最坏情况N2 /2次比较和N2 /2和交换
最好情况N-1次比较和0次交换
3)希尔排序:
使用递增序列1,4,13,40,121,364...的希尔排序所需的比较次数不会超过N的若干倍乘以递增序列的长度。
4)归并排序:
无论自顶而下还是自底向上,需要1/2NlgN至NlgN次比较,最多访问数组6Nlg次。
重要结论:没有任何基于比较的算法能够保障使用少于lg(N!)~NlgN次比较将长度为N的数组排序。
归并排序是一种渐进最优的基于比较的排序算法。