樹與二叉樹定義

2021-09-16 21:12:03 字數 1890 閱讀 5418

樹是n(n>=0)個節點的有限集合t。當n=0時,稱為空樹;當n>0時,該集合滿足如下條件

1.其中必有乙個稱為(root)的特定節點,它沒有直接前驅,但又0個或多個直接後繼

2.其餘節點可分為m(m>0)個互不相交的有限集t1、t2、……、tm,其中每乙個集合本身又是一棵樹,並且稱為根的子樹(suntree)。

樹的定義需要強調的兩點:

1.n>0 時根是唯一的,不可能存在多個根節點,資料結構中的樹只能有乙個根節點。

2.m>0時,子樹的個數沒有限制,但它們一定互不相交。

結點擁有的子樹數成為結點的度(degree).

度為0的結點稱為葉節點(leaf)或終端節點。

度不為0的節點稱為非終端節點或分支節點。

除根結點之外,分支節點也成為內部節點。

樹的度是樹內個節點的度的最大值。

節點的子樹的根稱為該節點的孩子(child)。該節點稱為孩子的雙親(parent)。

同乙個雙親的孩子之間互稱為兄弟(sibling)。

節點的祖先是從根到該節點所經分支的所有節點。

節點的層次(level)從根開始定義起,根為第一層,根的孩子為第二層。雙親在同一層的節點互為堂兄弟。樹中節點的最大層次稱為樹的深度(depth)或高度。

如果樹中節點的各子樹看成從左到右是有次序的,不能互換的,則稱改樹為有序樹,否則稱為無序樹。

森林(forest)是m(m>=0)棵互不相交的樹的集合。

二叉樹(binary tree)是n(n>=0)個節點的有限集合,該集合或者為空集(稱為空二叉樹),或者由乙個根節點和兩棵互不相交的、分別稱為根節點的左子樹和右子樹的二叉樹組成。

1.每個節點 最多 有兩棵子樹,所以二叉樹不存在度大於2的節點。

2.左子樹和右子樹是有順序的,次序不能任意顛倒。

3.即使樹中某節點只有一棵子樹,也要區分是左子樹還是右子樹。

二叉樹具有五種基本形態
1.空二叉樹。

2.只有乙個根節點。

3.根節點只有左子樹。

4.根節點只有右子樹。

5.根節點既有左子樹又有右子樹。

1.斜樹

2.滿二叉樹

3.完全二叉樹

1.在二叉樹的第i層上最多有2 i-1 個節點 。(i>=1)

用歸納法證明:

歸納基:i = 1 層時,只有乙個根結點,

2i-1 = 20 = 1;

歸納假設:假設i=k時,命題成立;

歸納證明:二叉樹上每個結點至多有兩棵子樹,則

第 k+1 層的結點數 最多為2k-1 x 2 = 2k+1-1 。

2.二叉樹中如果深度為k,那麼最多有2k-1個節點。(k>=1)

證明:基於性質1,深度為 k 的二叉樹上的結點數至多為

2^0+2^1+ .....+2^k -1 = 2^k -1

3.n0=n2+1 n0表示度數為0的節點 n2表示度數為2的節點

4.在完全二叉樹中,具有n個節點的完全二叉樹的深度為[log2n]+1,其中[log2n]+1是向下取整。

設 完全二叉樹的深度為 k

則根據第二條性質得 2k-1-1n,則該結點無左孩子, 否則,編號為 2i 的結點為其左孩子結點;

(3) 若 2i+1>n,則該結點無右孩子結點, 否則,編號為2i+1 的結點為其右孩子結點。

樹與二叉樹 定義

樹形結構是一類重要的非線性結構資料結構。其中以樹和二叉樹最為常用,直 來,樹是以分支關係定義的層次結構。樹的定義與基本術語 樹的結構定義是乙個遞迴定義,即在樹的定義中又用到樹的概念。除了樹形表示外,樹形結構還有廣義表表示 文氏圖表示 反映集合包含關係 和凹人表示 類似一本書的目錄 等其他表示形式。結...

二叉樹 滿二叉樹與完全二叉樹

二叉樹 binary tree 是n n 0 個元素的有限集合,該集合為空或者為由乙個稱為 根 的元素及兩個不相交的 被分別稱為左子樹和右子樹的二叉樹組成 二叉樹的基本特點 每個結點最多有兩棵子樹 左子樹和右子樹是有順序的,且不可顛倒 圖一1 結點 二叉樹中的每乙個元素都稱為結點。通常二叉樹的許多名...

樹與二叉樹

樹是一類重要的非線性資料結構,是以分支關係定義的層次結構 定義 樹 tree 是n n 0 個結點的有限集t,其中 n 0時為空樹 n 0時,有且僅有乙個特定的結點,稱為樹的根 root 當n 1時,其餘結點可分為m m 0 個互不相交的有限集t1,t2,tm,其中每乙個集合本身又是一棵樹,稱為根的...