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個元素和...