早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

对数列{46,79,56,38,40,84)建立大顶堆,则初始堆为______。A.79,46,56,38,40,84B.84,79,56,38,40,4

题目

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

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}当且仅当满足如下的关系式时才称之为堆:,相应的称为小顶堆或大顶堆。
  判断堆的办法是把序列看成一棵完全二叉树,按层序遍历,若树中的所有非终端节点的值均不大于(或不小于)其左右孩予的节点的值,则该序列为堆。
  初始堆建立方法是:将待排序的关键字按层序遍历方式分放到一棵完全二叉树的各个节点中,显然所有的节点Ki都没有子节点,以这样的Ki为根的子树已经是堆,因此初始堆可从完全二叉树的第()个节点开始,通过调整,逐步使以、…、K2、为根的子树满足堆的定义。