二叉樹結點的度(分支度)指該節點引出的邊數(節點下面的邊)。二叉樹結點有 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:完全二叉樹的葉子節點數