将关键字{6,9,1,5,8,4,7},依次插入到初始为空的大根堆H中,得到的H是
时间: 2024-10-02 11:04:27 浏览: 70
Java软件开发实战 Java基础与案例开发详解 14-8 练习题 共6页.pdf
将给定的关键字序列 {6, 9, 1, 5, 8, 4, 7} 插入到初始为空的大根堆 (Max Heap) H 中的过程可以按照大根堆的性质来进行。大根堆是一种特殊的完全二叉树,它满足每个节点的值都大于或等于其子节点的值(最大堆)。插入操作通常是这样的:
1. 首先,我们将第一个元素 `6` 插入堆顶。
2. 接着,从第二个元素开始,每次将一个新元素与堆顶比较,如果当前元素比堆顶大,则交换位置,并向下调整堆,保证父节点大于子节点。
- 第二次插入 `9`:由于 `9 > 6`,交换,堆变为 `9, 6, _, _ ...`
- 插入 `1`:`1 < 9`,不需要交换,保持堆形,`1, 9, 6, _, _ ...`
- 插入 `5`:`5 < 9`,保持堆形,`1, 9, 6, 5, _ ...`
- 插入 `8`:`8 > 9`,交换,堆变为 `8, 9, 6, 5, _ ...`
- 插入 `4`:`4 < 8`,保持堆形,`4, 8, 9, 6, 5, _ ...`
- 最后插入 `7`:`7 > 8`,交换,然后继续调整,`7, 8, 9, 6, 5, 4`
最终,我们得到了一个大根堆:
```
7, 8, 9, 6, 5, 4
```
阅读全文