【資料結構導論之樹和二叉樹總結篇】
前言:
樹是一類重要的資料結構,作為樹形結構的代表,無論在自考的學習過程還是軟考的學習過程中,我們都與之深之接觸。今天,小編來總結一下樹,此篇博文以資料結構導論第四章為參考,進行總結!希望給看博文的你帶來收穫!
核心:
想一想,關於樹?我們都涉及到了什麼:
這個章節的標題為樹和二叉樹。裡面的內容主要圍繞樹、森林和二叉樹以及它們之間的關係來展開本章節的論述的!其中遍歷、轉換、求結點這些屬於常考內容,且容易掌握的,二儲存結構這塊內容涉及到程式碼的實現,是資料結構導論中最後的大題考試內容。其中,還有裡面的小知識點,最關鍵的還是多做題來實踐啊!
一、導圖優先
二、重要的知識點小結
1.深度為k的樹最多有2^k -1個節點;
2.任意二叉樹,度為0的節點數=度為2的節點數+1;
3.如果i為父親的編號,則孩子的編號為2i和2i+1;
4.結點的度:樹上任一結點所擁有的子樹的數目稱為該結點的度。
5.二叉樹第i層上的結點數目最多為2^(i-1)(i≥1)。
6.如果需要順序儲存的非完全二叉樹,首先必須用某種方法將其轉化為完全二叉樹,為此可增設若干個虛擬結點。
7.二叉連結串列,具有n個結點的二叉樹,有2n個指標域,其中只有n-1個用來指向結點的左、右孩子,其餘的n+1個指標域為NULL.
8.給定一組值P1,...,Pk,如何構造一棵有K個葉子且分別以這些值為權的判定樹,使用權得其平均比較次數最小。滿足上述條件的判定樹稱為哈夫曼樹。
9.哈夫曼樹中沒有度數為1的分支節點。給定一組值P1,...,Pk,如何構造一棵有K個葉子且分別以這些值為權的判定樹,使用權得其平均比較次數最小。滿足上述條件的判定樹稱為哈夫曼樹
三、遍歷
- 二叉樹的遍歷
遍歷即將樹的所有結點訪問且僅訪問一次。按照根節點位置的不同分為前序遍歷,中序遍歷,後序遍歷。
前序遍歷:根節點->左子樹->右子樹
中序遍歷:左子樹->根節點->右子樹
後序遍歷:左子樹->右子樹->根節點
eg:求下面樹的三種遍歷
前序遍歷:abdefgc
中序遍歷:debgfac
後序遍歷:edgfbca
注意:這裡的三種遍歷,體現在二叉樹中的每棵子樹中,按照這個規則去遍歷
- 森林的遍歷
只有前序遍歷和中序遍歷。
前序遍歷:根節點->左子樹
中序遍歷:子樹->根節點
四、轉化
樹轉二叉樹
1.連線兄弟結點
2.保留第一個兄弟結點與父結點的連線,斷開其他兄弟與父結點的連線
3.以根為軸心順時針旋轉45度。
總結:
相關文章
- 重學資料結構之樹和二叉樹資料結構二叉樹
- 資料結構之「二叉樹」資料結構二叉樹
- 資料結構(樹):二叉樹資料結構二叉樹
- 資料結構 其五 樹與二叉樹學習總結資料結構二叉樹
- 重學資料結構(六、樹和二叉樹)資料結構二叉樹
- 資料結構 - 二叉樹資料結構二叉樹
- 資料結構-二叉樹資料結構二叉樹
- 資料結構之「二叉搜尋樹」資料結構
- 資料結構之樹結構概述(含滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹、紅黑樹、B-樹、B+樹、B*樹)資料結構二叉樹
- 資料結構之「樹」資料結構
- 論 如何畫線索二叉樹[資料結構]二叉樹資料結構
- 資料結構中的樹(二叉樹、二叉搜尋樹、AVL樹)資料結構二叉樹
- 資料結構-平衡二叉樹資料結構二叉樹
- 常用資料結構之線索二叉樹資料結構二叉樹
- 資料結構之樹( 線段樹,字典樹)資料結構
- 【java 資料結構】還不會二叉樹?一篇搞定二叉樹Java資料結構二叉樹
- 資料結構和演算法:二叉樹資料結構演算法二叉樹
- 資料結構——樹與二叉樹的遍歷資料結構二叉樹
- [資料結構] 樹、二叉樹、森林的轉換資料結構二叉樹
- 資料結構和演算法-二叉樹,AVL,紅黑樹資料結構演算法二叉樹
- 資料結構學習之樹結構資料結構
- 資料結構之「AVL樹」資料結構
- 資料結構之「霍夫曼樹」資料結構
- 資料結構之「B樹」資料結構
- 資料結構 二叉樹遍歷資料結構二叉樹
- 【資料結構】二叉搜尋樹!!!資料結構
- 資料結構二叉樹學習資料結構二叉樹
- 資料結構-二叉樹、堆、圖資料結構二叉樹
- 資料結構-二叉搜尋樹資料結構
- 資料結構——二叉樹進階資料結構二叉樹
- 深入理解資料結構--二叉樹(基礎篇)資料結構二叉樹
- 資料結構的故事之二叉樹, 字首樹, N叉樹資料結構二叉樹
- 資料結構——樹和森林資料結構
- 資料結構之MySQL獨愛B+樹(二叉樹、AVL樹、紅黑樹、B樹對比)資料結構MySql二叉樹
- 樹結構總結
- 資料結構之你真的瞭解二叉樹嗎資料結構二叉樹
- 資料結構之「紅黑樹」資料結構
- 資料結構之「B+樹」資料結構
- 深入理解資料結構--二叉樹(進階篇1)資料結構二叉樹