6.3-2
func(A)
1 A.heap-size=A.len
2 \quad for i= ? A . l e n 2 ? \lfloor {A.len\over2}\rfloor ?2A.len?? downto 1
3 \qquad MAX-HEAPIFY(A,i)
對于第2行的循環控制變量i來說,為啥要求它是從 ? A . l e n 2 ? \lfloor {A.len\over2}\rfloor ?2A.len??到1遞減,而不是從1到 ? A . l e n 2 ? \lfloor {A.len\over2}\rfloor ?2A.len??遞增呢?
這樣就不被允許執行第三行了
6.3-3 證明:包含n個元素的堆中,至多有 ? n 2 h + 1 ? \lceil{n\over2^{h+1}}\rceil ?2h+1n??個高度為h的結點
h=0時,結點數為n- ? n 2 ? \lfloor{n\over2}\rfloor ?2n??= ? n 2 ? \lceil{n\over2}\rceil ?2n??,滿足
假設高度為h-1時成立,