6.3-1
(a)
A.length=9
,故从
i=⌊A.length/2⌋=4
开始调用MAX-HEAPIFY(A,i),
A[4]<A[9]<A[8]
,故交换
A[4]和A[8]
得到新的序列
A1={5,3,17,22,84,19,6,10,9}
(b) 接下来调用MAX-HEAPIFY(A,3),
A[7]<A[3]<A[6]
,故交换
A[3]和A[6]
得到
A2={5,3,19,22,84,17,6,10,9}
(c) 第三步调用MAX-HEAPIFY(A,2),
A[2]<A[4]<A[5]
,故交换
A[2]和A[5]
得到
A3={5,84,19,22,5,17,6,10,9}
(d) 第四步调用MAX-HEAPIFY(A,1),
A[1]<A[3]<A[2]
,故交换
A[1]和A[2]
得到
A′4={84,5,19,22,3,17,6,10,9}
;接下来由于
A[2]<A[4]
,故又调用MAX-HEAPIFY(A,2),交换
A[2]和A[4]
得到
A′′4={84,22,19,5,3,17,6,10,9}
;在调用MAX-HEAPIFY(A,4)交换
A[4]和A[8]
最后得到
A4={84,22,19,10,3,17,6,5,9}
6.3-2
因为
i
从
6.3-3
首先包含
故至多有 ⌈n/2h+1⌉ 个节点。