应用题4

这道题让我们根据所给的关键词序列构造大顶堆,那我们就要知道:
- 堆是什么
- 大顶堆是什么
相关知识点在书的P127-133页
在讲大顶堆之前,我们先谈谈堆是什么?
堆:⑴可以用一棵完全二叉树表示⑵非终端节点与其子节点内存储的数据有优先级关系
根据堆的第二条特性,我们将堆分为小顶堆和大顶堆
小顶堆:某非终端节点的存储值小于等于其子节点
大顶堆:某非终端节点的存储值大于等于其子节点
构造大顶堆的操作:
先根据所给序列顺序列出一个完全二叉树

再根据自下而上的顺序进行子节点数据和双亲节点数据的交换(如果某节点的左右孩子值都比该节点大,就选取更大的一个来交换)



当根节点变成序列中的最大值后,再自上而下进行检查。


进而得到答案


浙公网安备 33010602011771号