首页 > 试题广场 >

采用堆排序方法将初始序列{8、23、12、5、28},按从小

[填空题]
采用堆排序方法将初始序列{8、23、12、5、28},按从小到大顺序排序,则建立初始堆和排序过程中序列依次变化为12345
编辑于 2020-07-22 10:06:19 回复(0)
1.首先将序列转化为堆,并对堆进行初始化。从i=(currentSize-2)/2开始向i=0执行siftDown操作得到初始化堆28 23 12 5 8
2.将第0元素和第4元素互换,得到8 23 12 5 28,对i=0执行siftDown操作得到第二大值
3.把第0元素和第3元素互选,以此类推
4.最终得到从小到大的排序5 8 12 23 28
发表于 2018-05-10 16:37:30 回复(0)
28 23 12 5 8 23 8 12 5 28 12 8 5 23 28 8 5 12 23 28 5 8 12 23 28
发表于 2017-12-12 13:58:47 回复(0)