二叉樹結點的度(分支度)指該節點引出的邊數(節點下面的邊)。二叉樹結點有 3 種可能的度:
- 度為 0,為葉子節點。
- 度為 1,只有左子樹或者右子樹的節點。
- 度為 2,有左右節點的節點。
用 n0,n1,n2 表示二叉樹中三種結點的數量:
- n0:度為 0 的結點即葉子節點的數量。
- n1:度為 1 的結點即只有左子樹或者右子樹的節點的數量,對於完全二叉樹,n1 只可能是 0 或 1,總節點數為偶數時有一個節點只有左子樹。
- n2:度為 2 的結點即有左右節點的節點的數量。
證明:
- 假設樹的節點數是 n,那么 n = n0 + n1 + n2;
- 考慮一下結點的入度(節點上面的邊),除了根節點,每個節點都有一條入邊,所以邊數為 n-1;同時邊的數量為 2*n2 + n1;
- 結合上面兩個推導:n = n0 + n1 + n2 = 2*n2 + n1 + 1,化簡得到 n0 = n2 + 1。
ref:完全二叉樹的葉子節點數
