特性1:在二叉樹的第 i 層上至多有2i
−1個結點
證明:
設 第 i 層的結點至多為 n, 由上需證明 在二叉樹的第 i 層上有n=
2i−1
① i=1時,因為二叉樹只有一層時只有乙個根結點,故 20
=1 成立
② 假設,當 i =k 時,等式成立,即n=
2k−1
. 那麼,當 i =k +1 時,因為第 k+1 層是第 k 層的下一層,故第 k + 1 層的結點最多為 2k
−1∗2
=2k=
2(k+
1)−1
, 即 當i = k + 1時,n=
2(k+
1)−1
成立,
由①, ②可知對一切自然數 i 等式成立
特性2:深度為 h 的二叉樹, 它的結點至多為2h
−1(深度即層數)
證明:
設,深度為 h 的二叉樹的結點至多為 s(h),需證明等式s(h)=2h
−1成立
二叉樹,每一層都取最大的結點數,由特性1 有: 20
+21+
22+.
..+2
h−1 = s(h) ① 21
+22+
23+.
..+2
h = 2s(h) ②
② - ① = 2s(h) - s(h) = s(h) = 2h
−20=
2h−1
,即等式s(h)=2h
−1成立
特性3:對任何一顆二叉樹,若它含有n0
個葉子結點,n2
個度(度,即產生分支數目)為2的結點,則必存在關係式:n0
=n2+
1證明:
設,度為0的結點個數為 n0
, 度為1的結點個數為n1
, 度為2的結點個數為n2
, 整個二叉樹上結點的數目為
n ,二叉樹上分支的數目為 b,
則有 n0+
n1+n
2=n ①
除了根結點以外都有一雙親結點(也叫父結點),有乙個雙親,說明有乙個分支
分支數目為
b ,因為根結點沒有雙親,如下圖,只有a結點沒有雙親,其他都有雙親
所以 n=b
+1② 那麼分支都是由度不為0的結點產生的,度為0的產生0個分支,度為1的結點產生1個分支,度為2的結點產生2個分支。
因為二叉樹的結點數等於分支數+1,故有:n1
+2n2
+1=n
③ 由 ①
−③=n
0−n2
−1=0
即, n0
=n2+
1
特性4:具有
n 個結點的完全二叉樹的深度為 ⌊l
og2n
⌋+1因為這個特性需要用到兩類特殊二叉樹的定義,所以先看兩類二叉樹的定義.
滿二叉樹:指的是深度為
k 且含有2k
完全二叉樹:樹中所含的n的結點和滿二叉樹中編號為 1 至 n 的結點一 一對應。
滿二叉樹,完全二叉樹,非完全二叉樹區別如下圖:
特性4 證明:
設完全二叉樹的深度為 k ,結點數為 n, 那麼由特性2有,
n大於深度為k-1的滿二叉樹的結點數,且小於等於深度為k的滿二叉樹的結點數. 即, 2k
−1−1
2k−1
或者說: 2k
−1≤n
<2k
① 對式子①取對數,有 k−
1≤lo
g2n<
k 因為lo
g2n 可能為整數,也可能不為整數,但是它是小於k且大於或等於k-1的,故對取lo
g2n 向下取整,則 k−
1=⌊l
og2n
⌋,即k
=⌊lo
g2n⌋
+1
二叉樹的基本性質及證明
性質1 一棵非空二叉樹的第i層上最多有2 i 1 個結點,i 1 性質2 一棵深度為k的二叉樹中,最多具有2 k 1個結點,最少有k個結點。性質3 對於一棵非空的二叉樹,度為0的結點 即葉子結點 總比度為1的結點多乙個,即葉子結點數為n0,度為2的結點數為n2,則有n0 n2 1。證明 如果n0表示...
二叉樹及二叉樹的遍歷
二叉樹的定義 樹的度為2的樹。二叉樹的遞迴定義 二叉樹或者是一棵空樹,或者是一棵由乙個根結點和兩棵互不相交的左子樹和右子樹所組成的非空樹,而左右子樹又都是一棵二叉樹。1.第i層上至多有2的i 1次方個結點。2.深度為h的二叉樹至多有2的h次方減1個結點。3.每一層都滿的二叉樹稱為滿二叉樹,只在最後一...
樹 二叉樹及二叉查詢樹
n n 0 個結點的有限集。如果 n 0,稱為空樹 如果 n 0,則 1 有且僅有乙個特定的稱為根 root 的結點,根只有直接後繼,沒有直接前驅 2 當n 1,除根外其它結點劃分為 m m 0 個互不相交的有限集t1,t2 tm,其中每個集合本身又是一棵樹,稱為根的子樹 subtree 樹的結點 ...