首页 > 试题广场 >

下列关键字序列为堆的是?

[单选题]
下列关键字序列为堆的是()?
  • 100,60,70,50,32,65
  • 60,70,65,50,32,100
  • 65,100,70,32,50,60
  • 70,65,100,32,50,60
  • 32,50,100,70,65,60
  • 50,100,70,65,60,32
推荐
A

最大(最小)堆是一棵每一个节点的键值都不小于(大于)其孩子(如果存在)的键值的树。大顶堆是一棵完全二叉树,同时也是一棵最大树。小顶堆是一棵完全完全二叉树,同时也是一棵最小树。

结果中, 是数组形式存储的树。只有A符合定义。
编辑于 2015-01-27 21:26:38 回复(0)
答案:A
我们所说的堆一般指二叉堆。二叉堆是完全二叉树或者是近似完全二叉树。
二叉堆满足二个特性:
1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。
2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。
当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。一般都用数组来表示堆,i结点的父结点下标就为(i – 1) / 2。它的左右子结点下标分别为2 * i + 1和2 * i + 2。如第0个结点左右子结点下标分别为1和2。
首先BCDF选项的第一个数(跟节点)既非最大也非最小,不满足堆的定义,排除
E选项中,根节点最小,可能是最小堆,但是100却大于其孩子节点60,所以不是堆
A选项是最大堆,
100的子节点是60,70. 且100>60,100>70
60的子节点是50,32 且60>50,60>32
70的子节点是65 且70>65
编辑于 2015-01-28 17:59:49 回复(1)
无非是最大堆和最小堆。
发表于 2016-08-19 17:53:09 回复(0)
大根堆,小根堆的特性 ,结合数组中存储是按层次遍历 来的,一个一个看,很容易就看出来了。
发表于 2017-02-17 16:44:33 回复(0)
堆满足下列性质:【用堆的性质来判断是否为堆】
  • 堆中某个节点的值总是不大于或不小于其父节点的值;
  • 堆总是一棵完全二叉树;
发表于 2022-08-26 17:37:52 回复(0)
A
发表于 2015-04-02 17:06:39 回复(0)
A
堆是完全二叉树数组存放的,A为最大堆,其他就不是最大堆也不是最小堆
发表于 2015-03-12 14:55:38 回复(0)
A,大根堆
发表于 2015-01-26 20:01:39 回复(0)