堆排序如何建堆 什么是堆排序?
浏览量:2929
时间:2021-03-14 09:28:23
作者:admin
什么是堆排序?
快速排序和堆排序都不稳定?
不稳定:两个大小相同的数字,经过排序,最终位置和初始位置交换。快速排序:27 23 27 3以前27为轴心,然后27与后3交换形成3 23 27。排序结束一次,但最后的27不稳定,因为它早于排序开始处的初始位置3,即27。堆排序:例如:3 27 36 27,如果前3级先输出,则第三级27(最后27级)运行到堆的顶部,然后堆稳定并继续输出堆的顶部,即前27级。这说明接下来的27个输出先于第二个27个,这是不稳定的。
什么是堆排序?
第一种方法是假设堆是空的,然后依次附加每个元素,因为堆的添加是向上调整的(不是排序,不能使用堆排序来实现堆排序)。这意味着每个非根元素依次向上调整。
第二种方法是按相反顺序调整每个非叶元素。
复杂性是。。。嗯,我记错了。第二个是O(n),比第一个低。
这是建造反应堆的过程。但是一旦有了堆,排序就容易多了。重复(1)堆头和堆尾的交换,(2)移除尾部元素并将它们放在另一个地方,(3)向下调整堆头,直到堆为空。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。