6.1-1
最多的情况是高度为h的完全二叉树,元素一共有
最少的情况是高度为0的这一层的叶子只有一个,元素一共有
Nmin=∑i=0h−12i+1=2h
6.1-2
由题6.1-1可知,高度为⌊lgn⌋的堆元素最多的情况下,元素数量为
Nmax=2⌊lgn⌋+1−1>2lgn−1=n−1≥n
元素最少的情况下,元素数量为
Nmin=2⌊lgn⌋≤2lgn=n
故高度为⌊lgn⌋的堆,元素最多的时候比n多,元素最少的时候比
6.1-3
显然可知。。。
6.1-4
在任意一个叶子上
6.1-5
显然是的,由于在堆中父节点始终在孩子节点的左边,因为数组已经排序好,故所有的父节点都小于或等于孩子节点,所以是一个最小堆
6.1-6
不是,因为索引为4的元素,其右边孩子的索引为RIGHT(4)=2∗4+1=9,而第4个元素为6,第9个元素为7,孩子节点元素大于根节点元素,故不是最大堆
6.1-7
首先我们可以来看看索引为⌊n/2⌋的节点是否有孩子节点,若有其左孩子节点索引应该为
LEFT(⌊n/2⌋)=2⋅⌊n/2⌋≤n
故其存在左孩子节点,不是叶子结点。 然后当索引i≥⌊n/2⌋+1>n/2时,
LEFT(i)=2i>n
故叶子节点的下标是⌊n/2⌋+1,⌊n/2⌋+2,⋯,n