关于算法复杂度

1.排序算法

对于长度为N的数组任意数组

1)选择排序:

N2次比较和N次交换

2)插入排序:

平均情况N/4次比较和N/4和交换

最坏情况N/2次比较和N/2和交换

最好情况N-1次比较和0次交换

3)希尔排序:

使用递增序列1,4,13,40,121,364...的希尔排序所需的比较次数不会超过N的若干倍乘以递增序列的长度。

4)归并排序:

无论自顶而下还是自底向上,需要1/2NlgNNlgN次比较,最多访问数组6Nlg次。

 

重要结论:没有任何基于比较的算法能够保障使用少于lg(N!)~NlgN次比较将长度为N的数组排序。

                  归并排序是一种渐进最优的基于比较的排序算法。

                  

 

posted on 2018-03-15 16:17  旺仔牛轧糖  阅读(134)  评论(0编辑  收藏  举报