Data Structures, Algorithms, & Applications in C++
Chapter 14, Exercise 21

(a)
The complete binary tree is (node format is [leftSize, key]):
                               [7, h]
                              /      \
                            /         \
                          /            \
                        /               \
                      /                  \
                [3, d]                    [1, j]
               /      \                  /      \
         [1, b]       [1, f]         [0, i]     [0, k]
        /      \     /      \
   [0, a]  [0, c] [0, e]   [0, g]


(b)
The tree after insert(4, m) is:
                               [8, h]
                              /      \
                            /         \
                          /            \
                        /               \
                      /                  \
                [3, d]                    [1, j]
               /      \                  /      \
         [1, b]       [2, f]         [0, i]     [0, k]
        /      \     /      \
   [0, a]  [0, c] [1, e]   [0, g]
                  /
               [0, m]


The tree after insert(9, n) is:
                               [8, h]
                              /      \
                            /         \
                          /            \
                        /               \
                      /                  \
                [3, d]                    [2, j]
               /      \                  /      \
         [1, b]       [2, f]         [1, i]     [0, k]
        /      \     /      \          /
   [0, a]  [0, c] [1, e]   [0, g]    [0, n]
                  /
               [0, m]


The tree after insert(0, p) is:
                               [9, h]
                              /      \
                            /         \
                          /            \
                        /               \
                      /                  \
                [4, d]                    [2, j]
               /      \                  /      \
         [2, b]       [2, f]         [1, i]     [0, k]
        /      \     /      \          /
   [1, a]  [0, c] [1, e]   [0, g]    [0, n]
     /             /
   [0, p]        [0, m]


The tree after insert(14, q) is:
                               [9, h]
                              /      \
                            /         \
                          /            \
                        /               \
                      /                  \
                [4, d]                    [2, j]
               /      \                  /      \
         [2, b]       [2, f]         [1, i]     [0, k]
        /      \     /      \          /            \
   [1, a]  [0, c] [1, e]   [0, g]    [0, n]       [0, q]
     /             /
   [0, p]        [0, m]


(c)
The tree after erase(0) is:
                               [8, h]
                              /      \
                            /         \
                          /            \
                        /               \
                      /                  \
                [3, d]                    [2, j]
               /      \                  /      \
         [1, b]       [2, f]         [1, i]     [0, k]
        /      \     /      \          /            \
   [0, a]  [0, c] [1, e]   [0, g]    [0, n]       [0, q]
                   /
                 [0, m]


The tree after erase(3) is:
                               [7, h]
                              /      \
                            /         \
                          /            \
                        /               \
                      /                  \
                [2, c]                    [2, j]
               /      \                  /      \
         [1, b]       [2, f]         [1, i]     [0, k]
        /            /      \          /            \
   [0, a]         [1, e]   [0, g]    [0, n]       [0, q]
                   /
                 [0, m]


The tree after erase(8) is:
                               [7, h]
                              /      \
                            /         \
                          /            \
                        /               \
                      /                  \
                [2, c]                    [1, j]
               /      \                  /      \
         [1, b]       [2, f]         [0, i]     [0, k]
        /            /      \                       \
   [0, a]         [1, e]   [0, g]                 [0, q]
                   /
                 [0, m]


The tree after erase(7) is:
                               [6, g]
                              /      \
                            /         \
                          /            \
                        /               \
                      /                  \
                [2, c]                    [1, j]
               /      \                  /      \
         [1, b]       [2, f]         [0, i]     [0, k]
        /            /                              \
   [0, a]         [1, e]                          [0, q]
                   /
                 [0, m]