您的位置:首页 > 理论基础 > 数据结构算法

数据结构之排序

2015-12-14 10:56 267 查看


注意: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: