一棵二叉樹是結點的乙個有限集合,該集合或者為空,或者是由乙個根節點加上兩棵別稱為左子樹和右子樹的二叉樹組成。
二叉樹的特點:
1.每個結點最多有兩棵子樹,即二叉樹不存在度大於2的結點。2.二叉樹的子樹有左右之分,即子樹的次序不能顛倒。
乙個二叉樹,如果每一層的結點都達到最大值,則這個二叉樹就是滿二叉樹。即,如果乙個二叉樹的層數為k
kk,且結點數為2k−
12^k-1
2k−1
,則它就是滿二叉樹。
對乙個滿二叉樹進行從上到下,從左到右依次進行編號,如果存在一棵對於深度為k
kk、結點數為n
nn的二叉樹,每乙個結點都與深度為k
kk的滿二叉樹中編號從1至n
nn的結點一一對應,則稱這個二叉樹為完全二叉樹。
滿二叉樹是一種特殊的完全二叉樹。
1.若規定根節點的層數為1,則一顆非空二叉樹的第i層上最多有2i−證明性質3:12^2i−1
個結點。
2.若規定根節點的層數為1,則深度為h的二叉樹的最大結點數為2h−
12^h-1
2h−1
。3.對任何一棵二叉樹,如果度為0其葉節點個數為n
0n_0
n0,度為2的分支節點個數為n
2n_2
n2,則有n0=
n2+1
n_0 = n_2+1
n0=n2
+1。
4.若規定根節點的層數為1,具有n
nn個結點的滿二叉樹的深度,h=l
og2(
n+1)
h = log_2(n+1)
h=log2
(n+
1)。5.對於具有n個結點的完全二叉樹,如果按照從上至下從左至右的陣列順序對所有節點從0開始編號,則對於序號為i的節點有:
假設一棵二叉樹有n個結點,度為0的結點個數為n0n_0
n0,度為1的結點個數為n
1n_1
n1,度為2的結點個數為n
2n_2
n2證明:
∵
\because
∵數的結點總個數為n
∴ n=
n0+n
1+n2
\therefore n = n_0+n_1+n_2
∴n=n0
+n1
+n2
,且邊的個數為n-1
∵
\because
∵每個結點的子孩子個數為度,故結點的度之和等於邊數
∴ n−
1=0×
n0+n
1+2×
n2\therefore n-1 = 0 \times n_0+n_1+2 \times n_2
∴n−1=0
×n0
+n1
+2×n
2∴ n0
=n2+
1\therefore n_0 = n_2 + 1
∴n0=n
2+1
資料結構之二叉樹 概念
樹的定義 樹是n個結點的有限集。n 0 稱為空樹。如果n 0,則 1 有乙個特定的稱之為根的結點,它只有直接後繼,但沒有直接前驅。2 除根以外的其他結點劃分為m個互不相交的有限集合,每個集合又是一棵樹,並且稱之為根的子樹。每棵子樹的根節點有且僅有乙個直接前驅,但可以有0個或多個直接後繼。節點 表示樹...
資料結構 樹和二叉樹
第一節 二叉樹的定義與基本操作 定義 我們把滿足以下兩個條件的樹型結構叫做二叉樹 binary tree 1 每個結點的度都不大於2 2 每個結點的孩子結點次序不能任意顛倒。由定義得出 二叉樹的每個結點只能含有0 1或2個孩子,且有左右之分。1 二叉樹的五種基本形態 2 二叉樹性質 性質1 二叉樹第...
資料結構 樹和二叉樹
定義 二叉樹是n n 0 個節點的有限集合,該集合或者為空集 稱為空二叉樹 或者由乙個根節點和兩棵互不相交的 分別稱為根節點的左子樹和右子樹的二叉樹組成。特點 每個節點最多有兩棵子樹 二叉樹是有序的,其次序不能任意顛倒 斜樹 1.所有節點都只有左子樹的二叉樹稱為左斜樹 2.所有節點都只有右子樹的二叉...