樹,二叉樹及演算法總結

2022-07-18 16:39:38 字數 2654 閱讀 4092

滿二叉樹在同樣深度的二叉樹中葉子結點個數最多

1. 葉子結點只能出現在最下兩層,且最下層的葉子結點都集中在二叉樹的左部;

2. 完全二叉樹中如果有度為1的結點,只可能有乙個,且該結點只有左孩子。

3. 深度為k的完全二叉樹在k-1層上一定是滿二叉樹。

1、有n個節點的完全二叉樹的深度為 k=l

og2n

'>k=log2n。i

'>2、

i層的節點數目為:2^i

3、最後一層的節點數為:n−(

2k−1

)=n+

1−2k

'>n−(2k−1)=n+1−2k

n−(2k−1)=n+1−2kn−

(2k−

1)=n

+1−2

k'>四、二叉樹的基本性質n−

(2k−

1)=n

+1−2

k'>n−

(2k−

1)=n

+1−2

k'>1、二叉樹的第i層上最多有2的i-1次方個結點(i≥1)。 n−

(2k−

1)=n

+1−2

k'>n−

(2k−

1)=n

+1−2

k'>2、一棵深度為k的二叉樹中,最多有2的k次方-1個結點,最少有k個結點。n−

(2k−

1)=n

+1−2

k'>n−

(2k−

1)=n

+1−2

k'>3、深度為k且具有2k-1個結點的二叉樹一定是滿二叉樹,n−

(2k−

1)=n

+1−2

k'>n−

(2k−

1)=n

+1−2

k'>4、在一棵二叉樹中,如果葉子結點數為n0,度為2的結點數為n2,則有: n0=n2+1。

​   1、先根遍歷:先訪問根結點,再從左往右遍歷根結點的子樹。

​      2、後根遍歷:先從左往右遍歷根結點的子樹,再訪問根結點。

​     3、層次遍歷:從根結點開始,從上到下,從左到右,訪問每個結點

1、雙親表示法:除了根結點沒有父結點外,其餘每個結點都有乙個唯一的父結點。將所有結點存到乙個陣列中。每個結點都有乙個資料域data和乙個                數值parent指示其雙親在陣列中存放的位置。

2、鏈式儲存結構:就是用鍊錶來表示一棵二叉樹,即用鍊錶來指示元素之間的邏輯關係。

通常有兩種儲存形式:

鍊錶中每個結點由三個域組成,除了資料域之外,還有兩個指標域,分別用來給出該結點的左孩子和右孩子所在的儲存位址。

鍊錶中每個結點由四個域組成,除了資料域之外,還有三個指標域,分別用來給出該結點的左孩子、右孩子和雙親結點所在的儲存位址。

1、使每個結點都有了唯一前驅和後繼(第乙個結點無前驅,最後乙個結點無)

2、節約空間,但是插入和刪除慢

帶權路徑長度wpl最小的二叉樹稱為哈夫曼樹wpl=所有(葉子結點的權值*路徑長度)之和。

1、若左子樹不空,則左子樹上所有結點的值均小於它的根結點的值

2、若右子樹不空,則右子樹上所有結點的值均大於它的根結點的值;

3、n個節點的該樹平均查詢長度為o(log2n)

每個結點的左、右子樹的高度最多相差1的二叉樹叫做平衡樹。

解決方法:通過網上檢視類似問題詳解解決

將 2,1,0,3,4,5,6,9,8,7依次構造平衡二叉樹。

首先資料為2的結點作為根結點插入,接著插入1,仍是平衡的,再插入0是,2的平衡因子變為2,此時出現了不平衡,因此需要進行調整,最低不平衡結點為2,屬於ll型,調整過程如圖1所示。

圖1

接著插入3,是平衡的,再插入4,此時出現了不平衡,結點 1 和 2 的平衡因子都為 -2,結點2為最低不平衡結點,屬於rr型,調整過程如圖2所示

圖2

接著插入5,此時結點 1 的平衡因子為 -2,導致不平衡,結點1為最低不平衡結點,屬於rr型,調整如圖3所示。

圖3

接著插入6,此時結點4的平衡因子為 -2,導致不平衡,結點4為最低不平衡結點,屬於rr型,調整如圖4所示。

圖4

接著插入9,是平衡的,再插入8,此時結點 3、5、6 的平衡因子都為 -2,導致不平衡,結點6為最低不平衡結點,屬於rl型,調整如圖5所示。

圖五

插入7,此時結點3、5的平衡因子為 -2,導致不平衡,最低不平衡結點為5,屬於rl型,調整如圖6所示。

樹 二叉樹 查詢演算法總結

一 樹 樹的基本操作 二 二叉樹 最優二叉樹 哈夫曼樹 在所有含 n 個葉子結點 並帶相同權值的 m 叉樹中,必存在一棵其帶權路徑長度取最小值的樹,稱為 最優樹 赫夫曼演算法 以二叉樹為例 根據給定的 n 個權值 構造 n 棵二叉樹的集合f 其中每棵二叉樹中均只含乙個帶權值為 wi 的根結點,其左 ...

樹 二叉樹 查詢演算法總結

結點的子樹的個數稱為該結點的度,乙個樹中所有結點的度中的最大值稱為樹的度。1 在非空二叉樹中,第i層的結點總數不超過,i 1。2 深度為h的二叉樹最多有個結點 h 1 最少有h個結點。3 對於任意一棵二叉樹,如果其葉結點數為n0,而度數為2的結點總數為n2,則n0 n2 1。有n個結點的完全二叉樹各...

樹,二叉樹,查詢演算法總結

1.雙親表示法 求父節點方便。2.孩子表示法 求子節點方便。3.雙親孩子表示法 求父節點和子節點都很方便。4.二叉樹表示法 將一顆普通樹轉化為二叉樹。1.在二叉樹的第i層上至多有2 i 1 個結點 i 0 2.深度為k的二叉樹至多有2 k 1個結點 k 0 3.對於任意一棵二叉樹,如果其葉結點為n0...