最小堆建立过程 堆排序的堆是怎么建立的?
浏览量:1463
时间:2021-03-13 12:06:31
作者:admin
堆排序的堆是怎么建立的?
第一种方法是假设堆是空的,然后依次附加每个元素,因为堆的添加是向上调整的(不是排序,不能使用堆排序来实现堆排序)。这意味着每个非根元素依次向上调整。
第二种方法是按相反顺序调整每个非叶元素。
复杂性是。。。嗯,我记错了。第二个是O(n),比第一个低。
这是建造反应堆的过程。但是一旦有了堆,排序就容易多了。重复(1)堆头和堆尾的交换,(2)移除尾部元素并将它们放在另一个地方,(3)向下调整堆头,直到堆为空。
什么是堆排序?
合并排序稳定“快速排序和堆排序都不稳定。不稳定:两个相同大小的数字被排序,最终位置与初始位置交换。
快速排序:
27 23 27 3
以前27为轴心,然后27与后3交换形成
3 23 27 27 27。排序结束一次,但最后的27在排序开始处的初始位置3之前,因此不稳定。
堆排序:
例如:3 27 36 27,
如果前3级先输出,则第三级27(最后27)运行到堆的顶部,然后堆稳定并继续输出堆的顶部,即刚才的27。这表明接下来的27输出在第二个位置27之前,这是不稳定的。”
“Mergesort
merge sort首先分解要排序的序列,从1到2,从2到4,然后依次分解。当只有一个组时,可以对这些组进行排序,然后依次合并回原始序列,以便对所有数据进行排序。合并排序比堆排序快一点,但它需要的内存是堆排序的两倍,因为它需要一个额外的数组
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。