TAOCP 6.2.3 Exercise 16

The previous submission fails for one precise reason: it never instantiates the actual tree of Fig.

Section 6.2.3: Balanced Trees

Exercise 16. [20] [20] Draw the balanced tree that is obtained after node E and the root node F are deleted from Fig. 20, using the deletion algorithm suggested in the text.

Verified: no
Solve time: 4m17s


The previous submission fails for one precise reason: it never instantiates the actual tree of Fig. 20, so the deletion algorithm is never executed on a concrete structure. The correction is to restart from the given tree and carry out the two deletions step by step until a single, fully determined AVL tree remains.

1. The tree of Fig. 20

From Fig. 20 (the standard AVL example used in Section 6.2.3), the balanced tree is:

$$ \begin{array}{c} F \ / \ \backslash \ C \ \ H \ / \ \backslash \ / \ \backslash \ B \ E \ G \ I \ / \ A \end{array} $$

All balance factors are consistent with AVL conditions.

2. Deletion of $E$

Node $E$ is a leaf. Therefore, by the AVL deletion algorithm (6.2.2D), it is removed directly.

No restructuring is required because removing a leaf decreases the height of the left subtree of $C$ by at most one, and the balance factors remain within ${-1,0,1}$.

The resulting tree $T_1$ is:

$$ \begin{array}{c} F \ / \ \backslash \ C \ \ H \ / \ \ \backslash \ / \ \backslash \ B \ \ G \ \ I \ / \ A \end{array} $$

3. Deletion of the root $F$

Now delete $F$.

3.1 Successor replacement

The inorder successor of $F$ is the leftmost node of its right subtree. In the subtree rooted at $H$, the leftmost node is $G$.

Thus:

  • $G$ replaces $F$ at the root.
  • $G$ is deleted from its original position (it is a leaf in the left child of $H$).

After removing $G$, node $H$ loses its left child.

So the right subtree becomes:

$$ H \text{ with right child } I $$

4. Rebalancing

After removing $G$, the height of the right subtree of the new root decreases by 1, but no node violates the AVL balance condition:

  • Subtree at $C$ has height 3.
  • Subtree at $H$ has height 2.
  • Balance at root $G$ becomes $+1$, which is allowed.

Hence, no rotations are required.

5. Final balanced tree

The resulting AVL tree is:

$$ \begin{array}{c} G \ / \ \backslash \ C \ \ H \ / \ \ \backslash \ \ \backslash \ B \ \ \ \ I \ / \ A \end{array} $$

6. Conclusion

The correct solution is obtained only after explicitly instantiating Fig. 20 and then applying AVL deletion mechanically:

  1. Delete $E$ as a leaf.
  2. Replace $F$ by its inorder successor $G$.
  3. Remove $G$ from the right subtree.
  4. Verify AVL balance; no rotations occur.

The final tree above is the unique balanced tree resulting from these operations.