66问答网
所有问题
排序算法里快速排序、堆排序和归并排序的区别?
如题所述
举报该问题
推荐答案 2024-01-14
归并排序是稳定的
“快速排序和堆排序都不稳定
不稳定:就是大小相同的两个数,经过排序后,最终位置与初始位置交换了。
快速排序:
27 23 27 3
以第一个27作为pivot中心点,则27与后面那个3交换,形成
3 23 27 27,排序经过一次结束,但最后那个27在排序之初先于初始位置3那个27,所以不稳定。
堆排序:
比如:3 27 36 27,
如果堆顶3先输出,则,第三层的27(最后一个27)跑到堆顶,然后堆稳定,继续输出堆顶,是刚才那个27,这样说明后面的27先于第二个位置的27输出,不稳定。”
“2 归并排序(MergeSort)
归并排序先分解要排序的序列,从1分成2,2分成4,依次分解,当分解到只有1个一组的时候,就可以排序这些分组,然后依次合并回原来的序列中,这样就可以排序所有数据。合并排序比堆排序稍微快一点,但是需要比堆排序多一倍的内存空间,因为它需要一个额外的数组。”
参考资料:
http://zhidao.baidu.com/question/26698104.html?an=0&si=1
http://zhidao.baidu.com/question/342775452.html?an=0&si=2
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/UpUDU2innDpnp2UDiUv.html
相似回答
有什么
好用的
排序算法?
答:
算法一:
快速排序算法
快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下
,排序
n 个项目要O(nlog n)次比较。在最坏状况下则需要O(n2)次比较,但这种状况并不常见。事实上
,快速排序
通常明显比其他O(n log n) 算法更快,因为它的内部循环 (inner loop)可以在大部分的架构上很有效率地...
几种
排序算法的
比较
答:
比较在希尔排序中是最主要的操作,而不是交换。
用已知最好的步长序列的希尔排序比直接插入排序要快,甚至在小数组中比快速排序和堆排序还快
,但在涉及大量数据时希尔排序还是不如快排;6.归并排序 (1)基本思想 首先将初始序列的n个记录看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,...
冒泡
排序,堆排序
,
快速排序,
插入排序,
归并排序的
的稳定性及时间空间复...
答:
1、冒泡排序、直接插入排序、二分插入排序、归并排序,基数排序都是稳定排序。不稳定排序:直接选择排序、堆排序、快速排序、希尔排序,猴子排序。以升序为例,比较相邻的元素,如果第一个比第二个大,则交换他们两个。
2、归并排序是稳定的排序算法
。归并排序的稳定性分析:归并排序是把序列递归地分成短序...
各种
排序算法
答:
关于稳定性 稳定的
排序算法
:冒泡排序、插入排序、
归并排序和
基数排序。不是稳定的排序算法:选择排序、
快速排序
、希尔排序、
堆排序
。名词解释:n:数据规模 k:"桶"的个数 In-place:占用常数内存,不占用额外内存 Out-place:占用额外内存 稳定性:排序后 2 个相等键值的顺序和排序之前它...
在
快速排序, 堆排序
,
归并排序
中 哪个是最稳定的排序方法?
答:
1
快速排序
(QuickSort)快速排序是一个就地
排序,
分而治之,大规模递归的
算法
。从本质上来说,它是
归并排序的
就地版本。快速排序可以由下面四步组成。(1) 如果不多于1个数据,直接返回。(2) 一般选择序列最左边的值作为支点数据。(3) 将序列分成2部分,一部分都大于支点数据,另外一部分都小于...
常用的
排序算法
特点和逻辑数据模型特点
答:
常用的
排序算法
有插入排序,希尔排序,冒泡排序,
快速排序,归并排序,堆排序
还有基数排序。排序算法一般考虑的就是两个方面,即时间复杂度和空间复杂度。其中插入排序,冒泡排序是简单排序,
排序的
平均时间复杂度是O(n^2), 最坏的情况是O(n^2),辅助存储空间是O(1)。快速排序的平均时间复杂度是O...
大家正在搜
堆排序快速排序归并排序的关系
快速排序堆排序归并排序
快速排序堆排序归并排序空间比较
快速排序希尔排序堆排序
堆排序和快速排序的存储空间
快速排序 归并排序
堆排序 快速排序
堆排序是稳定的排序方法
堆排序和希尔排序时间