CPSC 220 Fall 2006: Structural Induction Example
Use structural induction to show that a nonempty
proper binary tree (pbt) with N
internal nodes has N+1 leaves. (Recall that a pbt is a binary tree in
which every node has 0 or 2 children.)
Base case: A pbt with only one node has 0 internal nodes and 1 leaf,
so the property holds.
Inductive step: If any nonempty pbt with r internal nodes,
0<=r<=k, has r+1 leaves, than any pbt with k+1 internal nodes has
k+2 leaves.
Proof of inductive step: Consider a pbt T with k+1 internal nodes,
k>=0. Then:
- Since T is proper and has at least one internal node
it must have two subtrees. Call them T1 and T2.
- We don't know how many internal nodes T1 has, so just call that number p.
Note that 0<=p<=k.
- We know that T2 has all of the internal nodes in T
except for those in T1 and the root of T, so T2 has k+1-p-1=k-p internal
nodes.
- By the inductive hypothesis, we know that T1 (which has p internal nodes)
has p+1 leaves.
- By the inductive hypothesis, we know that T2 (which has k-p internal nodes)
has k-p+1 leaves.
- All of the leaves in T are in either T1 or T2, so T has (p+1) + (k-p+1)
= k+2 leaves. This is what we wanted to show for a tree with k+1 internal nodes.