資料結構實踐專案 樹和二叉樹(2)

2021-09-23 17:53:58 字數 1170 閱讀 8985

本文針對資料結構基礎系列(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.所有節點都只有右子樹的二叉...