用一组{14,15,30,28,5,10}关键字序列,写出初始建堆过程图示,再根据初始堆写出堆排序过程图示。

2022-06-28 03:31

4个回答
起始序列为14,15,30,28,5,10,
(1)因此起始堆的情况如下:
14

15 30

28 5 10

(2)假设是打算得到一个从小到大的序列,所以需要建大顶堆,起始状态从下向上建堆:
第一步: 第二步:
14 30

28 30 28 14

25 5 10 25 5 10

(3)此时已经建立完了初始的堆。此时堆顶元素30即为最大元素,将堆顶元素与堆最后
一个元素进行交换,此时30是最大元素位于队尾,因此无需继续排序。所以堆如下图
所示:
10

28 14

25 5
(4)此时由于除被交换到堆顶的10以外其他的都基本有序,所以自上而下建堆得到的堆
如下:
28

25 14

10 5

(5)重复(3)和(4)步骤确定了28的位置并得到堆如下:
25

10 14

5

(6)重复(3)和(4)步骤确定了25的位置并得到堆如下:
14

10 5

(7)重复(3)和(4)步骤确定了14的位置并得到堆如下:
10

5

(8)重复(3)和(4)步骤确定了10的位置,此时只有一个数5也位于了堆的第一个位置,
因此排序完成
所谓“建堆”就是将数据元素依次按完全二叉树的结构填入,再调整...
则完全二叉树的节点编号1-6的元素初始内容依次为14 15 30 28 5 10
排序的过程:(以下为小根堆过程)
建堆步骤1 14 15 30 28 5 10
建堆步骤2 14 15 10 28 5 30
建堆步骤3 14 5 10 28 15 30
5 14 10 28 15 30(维护堆的性质)

建堆(小根堆)完成
这一组数字是45,30,28,五,何时关键字序列写出初始建堆过程的图示。
“建堆”就是将数据元素依次按完全二叉树的结构填入,再调整...
则完全二叉树的节点编号1-6的元素初始内容依次为14 15 30 28 5 10
排序的过程:(以下为小根堆过程)
建堆步骤1 14 15 30 28 5 10
建堆步骤2 14 15 10 28 5 30
建堆步骤3 14 5 10 28 15 30
5 14 10 28 15 30(维护堆的性质)

建堆(小根堆)完成
相关问答
用一组{14,15,30,28,5,10}关键字序列,写出初始建堆过程图示,再根据初始堆写出堆排序过程图示。
1个回答2022-09-04 12:31
所谓“建堆”就是将数据元素依次按完全二叉树的结构填入,再调整... 则完全二叉树的节点编号1-6的元素初始内容依次为14 15 30 28 5 10 排序的过程:(以下为小根堆过程) 建堆步骤1 14...
全文
用一组{14,15,30,28,5,10}关键字序列,写出初始建堆过程图示,再根据初始堆写出堆排序过程图示。
2个回答2022-11-19 20:40
起始序列为14,15,30,28,5,10, (1)因此起始堆的情况如下: 14 15 30 28 5 10 (2)假设是打算得到一个从小到大的序列,所以需要建大顶堆,起始状态从下向上建堆: 第一步:...
全文
堆排序是怎么建堆的 关键字序列 42 13 24 91 23 16 05 88是怎样建堆的
1个回答2022-09-24 10:28
对这些关键字先构造一个完全二叉树(不管大小关系) ,然后从节点H.length/2到0,依次调整(调用HeapAdjust) void HeapSort ( SqList &H ) { // 对...
全文
堆排序是什么?
1个回答2022-08-28 04:10
堆排序就是利用堆的数据结构进行排序,通过调整堆的结构使得关键字有一定的顺序。有最大堆和最小堆,堆排序在类似topK问题中经常应用,效率比其他内部排序算法高。
堆排序是什么
1个回答2022-09-26 08:20
堆排序就是利用堆的数据结构进行排序,通过调整堆的结构使得关键字有一定的顺序。有最大堆和最小堆,堆排序在类似topK问题中经常应用,效率比其他内部排序算法高。
什么是堆排序?
1个回答2022-09-24 20:35
堆积排序(Heapsort)是指利用堆积树(堆)这种资料结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。 算法思想: (1)堆的定义: 堆是满足下列性质的数列{r1, r2, …,...
全文
谁会堆排序?
1个回答2022-11-15 08:57
自己找一本数据结构的书翻一下就知道了。
free pacal 堆排序
1个回答2022-07-30 23:56
我编译了一下, 问题不少。 我建议您重新写一个, 参照这标准的模板。 算法: 依次加入元素,建立2叉堆; 再从堆底不断删除元素,直到堆空; 删除的元素就会有序。
怎么把一堆图片组成一颗爱心
1个回答2024-02-01 23:41
用美图秀秀里面可以
热门问答