码迷,mamicode.com
首页 > 编程语言 > 详细

交换与选择类排序

时间:2019-11-16 21:32:40      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:移动   插入   直接   链式   折半插入排序   使用   快速   单选   插入排序   

各种排序算法所需辅助空间
1、 所有的简单排序方法(包括:直接插入、起泡和简单选择)和堆排序的空间复杂度为O(1);

2、 快速排序为O(logn ),为栈所需的辅助空间;

3、 归并排序所需辅助空间最多,其空间复杂度为O(n );

4、链式基数排序需附设队列首尾指针,则空间复杂度为O(rd )。

5、直接插入排序:比较次数 最少n-1次;最多(n-1)(n+2)/2
移动次数 最少0; 最多(n-1)(n+4)/2
使用一个辅助存储空间,是稳定的排序;

6、折半插入排序:比较次数 最少与最多同,都是n*log2n(其中2为底,下边表示同),
移动次数 最少0,最多时间复杂度为O(n2);(n的平方,以下也如此表示);
使用一个辅助存储空间,是稳定的排序;

7、冒泡排序: 比较最少为:n-1次,最多时间复杂度表示为o(n2);
移动次数最少为0,最多时间复杂度表示为O(n2);
使用一个辅存空间,是稳定的排序;

8、简单选择排序: 比较次数没有多少之分,均是n(n-1)/2;
移动次数最少为0,最多为3(n-1);
使用一个辅存空间,是稳定的排序;

9、快速排序:比较和移动次数最少时间复杂度表示为O(n*log2n);
比较和移动次数最多的时间复杂度表示为O(n2);
使用的辅助存储空间最少为log2n,最多为n的平方;是不稳定的排序;

10、 堆排序: 比较和移动次数没有好坏之分,都是O(n*log2n);
使用一个辅存空间,是不稳定的排序;

11、2-路归并排序:比较和移动次数没有好坏之分,都是O(n*log2n);
需要n个辅助存储空间,是稳定的排序;

交换与选择类排序

标签:移动   插入   直接   链式   折半插入排序   使用   快速   单选   插入排序   

原文地址:https://www.cnblogs.com/KeepZ/p/11873451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!