对数列{46,79,56,38,40,84)建立大顶堆,则初始堆为(34)。

admin2014-11-11  2

问题 对数列{46,79,56,38,40,84)建立大顶堆,则初始堆为(34)。

选项 A、79,46,56,38,40,84
B、84,79,56,38,40,46
C、84,79,56,46,40,38
D、56,84,79,40,46,38

答案B

解析 堆的定义:n个元素的序列{k1,k2,…,kn)当且仅当满足如下的关系式时才称之为堆:相应的称为小顶堆或大顶堆。判断堆的办法是把序列看成一棵完全二叉树,按层序遍历,若树中的所有非终端节点的值均不大于(或不小于)其左右孩子的节点的值,则该序列为堆。初始堆建立方法是:将待排序的关键字按层序遍历方式分放到‘棵完全二叉树的各个节点中,显然所有i>[n/2]的节点Ki都没有子节点,以这样的Ki为根的子树已经是堆,因此初始堆可从完全二叉树的第(i=[n/2])个节点开始,通过调整,逐步使以K[n/2]、K[n/2]-1、…、K2、K1为根的子树满足堆的定义。
转载请注明原文地址:https://kaotiyun.com/show/dPRZ777K
0

相关试题推荐
最新回复(0)