寫在前面:根據韓浩畫的重點,現階段,樹、圖以瞭解邏輯結構、儲存方式為主,暫時不要求代碼實現。 第6章 二叉樹和樹 6.1 二叉樹:概念和性質 6.1.1 概念和性質 定義和圖示 幾個基本概念
一個結點的子結點個數稱為該結點的度數。
在二叉樹裡有些結點的兩顆子樹都空,沒有子結點。這種結點稱為樹葉(結點)。 路徑,結點的層和樹的高度 二叉樹的性質 滿二叉樹,擴充二叉樹 完全二叉樹
6.1.2 抽象資料類型 6.1.3 遍曆二叉樹
深度優先遍曆
(讀者:這一小節的先、中、後根序遍曆,有點難理解,建議仔細看書。)
寬度優先遍曆 遍曆與搜尋
(讀者:這一小節沒有仔細讀。) 6.2 二叉樹的list實現 6.2.1 設計和實現 6.2.2 二叉樹的簡單應用:表達樹 二元運算式和二叉樹 構造運算式 運算式求值 擴充 6.2.3 二叉樹的簡單應用:運算式樹狀架構 6.3 優先隊列
一種重要的緩衝結構:優先隊列。 6.3.1 概念
6.3.2 基於線性表的實現 有關實現方法的考慮 基於list實現優先隊列 對連續表實現的分析 6.3.3 樹形結構和堆 線性和樹形結構 堆及其性質 堆與優先隊列 6.3.4 優先隊列的堆實現 插入元素和向上篩選 彈出元素和向下篩選 基於堆的優先隊列類 構建操作的複雜性 6.3.5 堆的應用:堆排序 6.4 應用:離散事件類比 6.4.1 通用的類比架構 6.4.2 海關檢查站類比系統 類比類 事件類別 實際類比 6.5 二叉樹的類實現 6.5.1 二叉樹的類實現 6.5.2 遍曆演算法 遞迴定義的遍曆函數 寬度優先遍曆 非遞迴的先根序遍曆函數 通過產生器函數遍曆 非遞迴的後根序遍曆演算法 非遞迴的遍曆 6.5.3 二叉樹類 6.6 哈夫曼樹 6.6.1 哈夫曼樹和哈夫曼演算法 哈夫曼樹 構造哈夫曼樹的演算法 6.6.2 哈夫曼演算法的實現 6.6.3 哈夫曼編碼 6.7 樹和樹林 6.7.1 執行個體和表示 6.7.2 定義和相關概念 6.7.3 抽象資料類型和操作 6.7.4 樹的實現 6.7.5 樹的Python實現 本章總結 練習
參考文獻:
1.《資料結構與演算法-Python語言描述》。