計算二叉樹的大小

2022-09-13 08:54:11 字數 905 閱讀 3867

二叉樹的大小是指樹中存在的節點的數量。例如,

下面這棵二叉樹的大小是5。

我們定義 size(tree) 函式用來遞迴地計算二叉樹 tree 的大小,它的工作原理如下

二叉樹的大小 = 1 + 左子樹的大小 + 右子樹的大小

algorithm:

size(tree)

1. 如果 tree 為空,則返回0

2. 否者

(a) 通過遞迴地呼叫 size(tree.left) 獲取左子樹的大小

(a) 通過遞迴地呼叫 size(tree.right) 獲取右子樹的大小

(c) 用如下公式求出二叉樹的大小:

size(tree) = size(left) + size(right) + 1

(d) 返回 size(tree)

#include
#include 

/*

* 二叉樹節點包含資料域,指向左子樹的指標,指向右子樹的指標

*/

struct

node ;

/*

* 輔助函式

* 使用給定的資料生成二叉樹節點,節點的左子樹和右子樹均為空

*/

struct node* newnode(int data)  

* 計算二叉樹中節點數

*/int size(struct node*node)

intmain()

二叉樹計算

術語 1.節點的度 乙個節點含有的子樹的個數稱為該節點的度 2.葉節點或終端節點 度為零的節點 3.非終端節點或分支節點 度不為零的節點 4.父親節點或父節點 若乙個節點含有子節點,則這個節點稱為其子節點的父節點 5.兄弟節點 具有相同父節點的節點互稱為兄弟節點 6.節點的層次 從根開始定義起,根為...

二叉樹的計算

二叉樹是一種典型的非線性結構,如果在乙個資料結構中,每個節點只能有乙個父節點但是可以有多個子節點,這樣的資料結構我們就把它稱為樹,如果我們再加乙個規定,每個父節點最多只有2個子節點的話,那麼這樣的樹我們就把它稱為二叉樹。既然剛才說了二叉樹乙個節點下最多只有2個子節點,那就意味著對於二叉樹中的任意乙個...

二叉樹 二叉樹

題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...