CLRS Solutions 6.3 Building a heap

6.3-2 Why do we want the loop index i in line 2 of BUILD-MAX-HEAP to decrease from ⌊A.length/2⌋ to 1 rather than increase from to ⌊A.length/2⌋? Otherwise we won't be allowed to call MAX-HEAPIFY, since it will fail the condition of having the subtrees be max-heaps. That is, if we start with 1, there is no guarantee that A[2] and A[3] are roots of max-heaps. 6.3-3 Show that there are at most ⌈n/2h+1⌉ nodes of height h in any n-element heap. The height of binary heap is as following: A heap of size n has at most ⌈n/2h+1⌉ nodes with height h. Key Observation : For any n>0, the number of leaves of nearly complete binary tree is ⌈n/2⌉. Proof by induction Base case : Show that it's true for h=0. This is the direct result from above observation. Inductive step : Suppose it's ture for h−1. Let Nh be the number of nodes at height h in the n-node tree T. Consider the tre...