如何計算樹中葉子結點的個數?

2021-07-10 18:02:35 字數 573 閱讀 2033

已知一棵度為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 根據 ...