本文針對資料結構基礎系列(6):樹和二叉樹第7, 11-15課時
7 二叉樹與樹、森林之間的轉換
11 二叉樹遍歷非遞迴演算法
12 層次遍歷演算法
13 二叉樹的構造
14 線索二叉樹
15 哈夫曼樹
執行並重複測試教學內容中涉及的演算法。改變測試資料進行重複測試的意義在於,可以從更多角度體會演算法,以達到逐漸掌握演算法的程度。使用你的測試資料,並展示測試結果,觀察執行結果,以此來領會演算法。
(1)層次遍歷演算法的驗證 [參考鏈結]
(2)二叉樹構造演算法的驗證 [參考鏈結]
(3)中序線索化二叉樹的演算法驗證 [參考鏈結]
(4)哈夫曼編碼的演算法驗證 [參考鏈結]
用二叉樹來表示代數表示式,樹的每乙個分支節點代表乙個運算子,每乙個葉子節點代表乙個運算數(為簡化,只支援二目運算的+、-、*、/,不加括號,運算數也只是一位的數字字元。本專案只考慮輸入合乎以上規則的情況)。請設計演算法,(1)根據形如「1+
2∗3−
4/5」的字串代表的表示式,構造出對應的二叉樹(如圖),用後序遍歷的思路計算表示式的值時,能體現出先乘除後加減的規則;(2)對構造出的二叉樹,計算出表示式的值。
請利用二叉樹演算法庫。
[參考解答]
[參考解答1] [參考解答2]
0607設有森林f=,如下圖所示,請畫出所對應的二叉樹,再試著還原為森林。
0613二叉樹的構造:已知一棵二叉樹的中序序列為cbedahgijf,後序序列為cedbhjigfa,請給出該二叉樹的樹形表示。
0614線索二叉樹:畫出下面二叉樹的後序線索化樹。
0615哈夫曼樹:下表給出的,是某文字檔案中的詞彙出現的頻度。假設文字檔案中只有這些詞,請給出各個單詞的哈夫曼編碼,求出平均查詢長度。
資料結構實踐專案 樹和二叉樹(1)
本文針對 資料結構基礎系列 6 樹和二叉樹 第1 6,8 10課時 1 樹結構導學 2 樹的基本概念 3 樹的基本術語 4 樹的性質 5 樹的儲存結構 6 二叉樹概念和性質 8 二叉樹的儲存結構 9 二叉樹的基本運算及其實現 10 二叉樹的遍歷 定義二叉樹的鏈式儲存結構,實現其基本運算,並完成測試。...
資料結構 樹和二叉樹
第一節 二叉樹的定義與基本操作 定義 我們把滿足以下兩個條件的樹型結構叫做二叉樹 binary tree 1 每個結點的度都不大於2 2 每個結點的孩子結點次序不能任意顛倒。由定義得出 二叉樹的每個結點只能含有0 1或2個孩子,且有左右之分。1 二叉樹的五種基本形態 2 二叉樹性質 性質1 二叉樹第...
資料結構 樹和二叉樹
定義 二叉樹是n n 0 個節點的有限集合,該集合或者為空集 稱為空二叉樹 或者由乙個根節點和兩棵互不相交的 分別稱為根節點的左子樹和右子樹的二叉樹組成。特點 每個節點最多有兩棵子樹 二叉樹是有序的,其次序不能任意顛倒 斜樹 1.所有節點都只有左子樹的二叉樹稱為左斜樹 2.所有節點都只有右子樹的二叉...