已知一棵度為3的樹有2個度為1的結點,3個度為2的結點,4個度為3 的結點。則該樹中有多少個葉子結點?設共有n個結點,n-1條邊( 因為樹中邊和結點的關係為:結點數=邊數+1),x個葉子結點,則有(ps:x表示乘號)
n=x+2+3+4 (1)
n-1=0xx+1x2+2x3+3x4 (2)
將兩個等式連立,則有
x=12
n=23
所以,該樹共有12個葉子結點。
其實真的是可以自己隨便畫個符合要求的樹,自己乙個個數的。
更普通的情況是:已知一棵度為m的樹中:n1個度為1的結點,n2個度為2的結點,…,nm個度m的結點,問該樹中共有多少個葉子結點?解答:設該樹的總結點數為n,則
n=n0+n1+n2+…+nm 又:
n=分枝數+1=0xn0+1xn1+2xn2+…+mxnm
由上述兩式可得:
n0=n2+2n3+…+(m-1)nm+1
編寫遞迴演算法,計算二叉樹中葉子結點的數目
編寫遞迴演算法,計算二叉樹中葉子結點的數目 includeusing namespace std typedef struct tnode 二叉樹結構 bitree void createbitree bitree t 先序遍歷方式建立二叉樹 輸入.代表該結點為空 else t null int c...
編寫遞迴演算法 計算二叉樹中葉子節點的個數
include struct bitree char data struct bitree lchild struct bitree rchild struct bitree creatbitree char x struct bitree p scanf c x if x p struct bit...
樹的度,度中結點的個數 葉子節點的個數關係
每條邊對應乙個節點,只有根節點沒有相應的邊。所以 節點個數 m 邊數 n 1 乙個度為4的節點對應有4條出邊,乙個度為3的節點對應有3條出邊,乙個度為2的節點對應有2條出邊,乙個度為1的節點對應有條出邊,葉子節點沒有出邊。所以 邊數 n 1 4 2 2 3 1 4 1 所有節點的度之和 15 根據 ...