資料結構與演算法(樹)

2021-10-23 08:37:11 字數 1481 閱讀 7771

1、樹的定義

2、基本術語

3、樹的性質

1、二叉樹定義及特性

2、二叉樹的儲存結構

1、 二叉樹遍歷

1、樹的儲存結構

2、樹、森林、二叉樹的轉換

樹轉換為二叉樹的規則:每個節點左指標指向它的第乙個孩子,右指標指向它在樹種的相鄰右兄弟。根節點沒有兄弟,所以對應二叉樹沒有右子樹。

樹轉換為二叉樹的方法:

(1)在兄弟節點之間加一連線;

(2)對每個節點,只保留它與第乙個孩子的連線,與其他孩子的連線刪除;

(3)以樹根為軸心,順時針旋轉45度。

森林轉換為二叉樹的方法:

(1)將森林中的每棵樹轉化為相應的二叉樹;

(2)每棵樹的根視為兄弟關係,在每棵樹的根之間加一根連線;

(3)以第一棵樹的根為軸心順時針旋轉45度。

二叉樹轉換為森林的規則:

若二叉樹非空,將二叉樹的根以及左子樹為第乙個樹的二叉樹形式,將根的右鏈斷開。二叉樹根的右子樹視為乙個由除第乙個樹外的森林轉換後的二叉樹,使用同樣方法,直到最後只剩一顆沒有右子樹的二叉樹為止,最後將每棵二叉樹依次轉換為樹,得到原森林。

3、樹和森林的遍歷

樹的遍歷指用某種方法訪問樹種的每個節點,且僅訪問一次,有兩種方式:

樹也有層次遍歷,與二叉樹層次遍歷一樣,按程式依次訪問各節點。

森林和樹相互遞迴的定義得到森林的兩種遍歷方法:

樹與森林的遍歷和二叉樹的遍歷關係。

1、二叉排序樹

3、哈夫曼樹和哈夫曼編碼

資料結構與演算法 樹

後序遍歷 已知前序和中序求後序 設計 的原則 1 有且僅有乙個根節點 2 所有的子樹也滿足該要求 子樹之間不能有交集 單個節點也是一棵樹 空樹 啥資料都沒有,沒有任何節點 根節點 父節點,子節點,兄弟節點 如果兩個節點的父節點雖不相同,但是它們的父節點處在同一層次上,那麼這兩個節點是兄弟節點 葉子節...

演算法與資料結構 樹

搜尋 如上圖所示 圓圈代表結點,連線結點的線代表邊。樹由結點和連線結點的邊組成。2 有根結點的父子關係 如圖根結點為0,連線根結點0到結點4最後一條邊連線著結點1和4,則結點1稱為結點4的父節點,結點4 為結點1 的子節點。結點2,3為結點4的兄弟結點。3 根結點 沒有父節點的結點 唯一 外部結點 ...

資料結構與演算法 樹 B樹

概述 b樹也稱b 樹。b樹中所有結點中孩子結點個數的最大值成為b樹的階,通常用m表示,從查詢效率考慮,一般要求m 3。一棵m階b樹或者是一棵空樹,或者是滿足以下條件的m叉樹。定義 b樹是一種平衡的多分樹,通常我們說m階的b樹,它必須滿足如下條件 根結點至少有兩個子女。每個中間節點都包含k 1個元素和...