数据结构之排序

注意:1、快排由于含有递归湛的使用,所以其空间复杂度较大。

2、逆序数的概念:越有序,时间复杂度越高。数据结构中,有一个逆序数的概念。如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个 逆序 如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。    每次排序后,如果逆序数越高,那么快排复杂度越小。3、冒泡和插入和初始化序列的有序度关系很大,基本逆序的时候,时间复杂度为 O(n^2),基本有序的时候,为 O(n)
    shell和初始化序列关系不大,但与你选的 increment sequence 关系大
    堆排序很稳定,无论给什么序列,它的时间几乎一样
    初级的快排与序列的随机化程度有关,基本顺序或者基本逆序会造成时间复杂度退化为O(n^2),随机为O(nlogn);
    改进的快排与初始序列无关。

转自:http://blog.csdn.net/hguisu/article/details/7776068

posted @ 2015-12-14 10:56  wangb021  阅读(182)  评论(0编辑  收藏  举报