一、小結
1.二叉樹
定義與性質:
(1) 二叉樹有五種基本形態;
(2) 在二叉樹的 第 i 層上至多有 2^(i-l) 個結點(i>=1);
(3) 深度為 k 的 二叉樹至多有 2^k -1 個結點 (k>=1);
(4) 葉子結點數 = 度為2結點數+1;
(5) 滿二叉樹是完全二叉樹的一種;還有更常見的非完全二叉樹;
二叉樹的儲存與遍歷:
(1) 適合用順序儲存結構的二叉樹種類較少,更多會使用鏈式儲存結構,但無論如何,都要根據實際問題設計合適的 結點結構 和 儲存結構;
(2) 遍歷二叉樹是二叉樹最基本的操作,其他各種操作的基礎;
(3) 基於二叉樹的遞迴定義有 先序、中序、後序三種遍歷演算法;時間複雜度為o(n);
(4) 線索二叉樹除了能得到左右孩子結點的資訊,還能直接的到結點的前驅和後繼資訊。
2.樹與森林
樹的儲存與遍歷:
(1) 常見的儲存結構有雙親表示法、孩子表示法、孩子兄弟法。可根據具體問題作出節省空間或節省時間上的改進;
(2) 森林或樹與二叉樹可進行相互轉換;
(3) 森林有兩種基於遞迴定義的遍歷方法:先序和中序;
3.哈夫曼樹
(1) 帶權路徑長度最小的二叉樹稱為哈夫曼樹;權值越大的結點離根結點越近;
(2) 左分支標記為 0, 右分支標記為 1,則根結點到每個葉子結點路徑上的 0、1序列即為相應字元的編碼,如下圖
二、感想:
感覺比第四章簡單了一丟丟(可能老師手下留情),因為把樹的結點線性化後,基本操作還是基於線性表,只是在解決具體問題時,
設計怎樣的結點、設計怎樣的遍歷方法能夠適用於當前問題,是需要實操前多思考多比較的
第五章學習小結
1 第五章主要學習了與樹相關的知識,從二叉樹拓展到一棵普通的樹,再從一棵普通的樹拓展到哈夫曼樹,再從樹拓展到森林的概念。5 1節學習了樹和二叉樹的定義,對節點,根節點,葉子結點,深度,度等概念進行了初步的了解。5 4節了解了與二叉樹相關的一些性質,其中引出了完全二叉樹與滿二叉樹的概念,從這一節開始也...
第五章學習小結
第五章我們學習了新的資料結構,也就是樹。相比較與之前學的內容,我覺得樹更加的複雜。在學習二叉樹的遍歷的過程中,在樹的操作過程中很多重複操作都是要通過遞迴實現的,我對遞迴的思想也更加深刻明了。我們也學習了許多二叉樹的性質,比如 二叉樹的性質 1 二叉樹的第i層上至多有2 i 1 個結點 2 深度為k的...
第五章學習小結
第五章 樹和二叉樹中我學到的 一,基本定義 樹 二叉樹 完美二叉樹 偏二叉樹,節點關係,樹的深度,葉節點等等的定義 二,樹 二叉樹 的基本儲存結構 1 用陣列,適用於滿二叉樹 2 鏈式結構 3 陣列加鍊表式 雙親孩子表示法 如下 tyepdef struct cnodecnode tyepdef s...