A-A+
堆是一种数据结构 (2)是堆。A.(10 50 80 30 60 20 15 18)B.(1
问题详情
堆是一种数据结构,(2)是堆。
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所示。