问题 单项选择题

堆是一种数据结构,()是堆。

A.(10,50,80,30,60,20,15,18)

B.(10,18,15,20,50,80,30,60)

C.(10,15,18,50,80,30,60,20)

D.(10,30,60,20,15,18,50,80)

答案

参考答案:B

解析:

一个有n个元素的序列{k1,k2,…,kn)如果满足[*]则称为小顶堆:如果满足[*]则称为大顶堆。由堆的定义可以看出,在大顶堆中,第1个元素是所有元素的最大值。在小顶堆中,第1个元素是所有元素的最小值。

根据这个定义,从给定的4个选项来看,如果是堆的话,一定是小顶堆,因为第1个元素10是所有元素中最小的元素。

首先看选项A。第1个元素小于第2个元素50和第3个元素80,第2个元素50大于第4个元素30,因此不是堆。按照这种方式,考察所有选项,可以得出B是堆。其对应的树形表示如图4-1所示。

[*]

单项选择题
单项选择题