滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹(二叉查詢樹)和最優二叉樹
1. 滿二叉樹
定義: 一個二叉樹,除去最後一層無任何子結點外,每一層上的所有結點都有兩個子結點。或者說,如果一個二叉樹的層數為k,且節點總數為(2^k)-1,則它就是滿二叉樹。
圖示:
2.完全二叉樹
定義: 一顆深度為k的有n個結點的二叉樹,對樹種的結點按從上到下,從左到右的順序進行編碼,如果編碼為i的結點與滿二叉樹中編碼為i的結點在二叉樹中的位置相同,則這棵二叉樹稱為完全二叉樹。通俗來講: 除了k層以外,其他層的結點數都達到最大,在第k層的結點都連續 集中在最左側,這就是完全二叉樹。
圖示:
3.平衡二叉樹(AVL樹)
定義: 它是一棵空樹或者它的左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹。
圖示:
4.二叉搜尋樹(二叉查詢樹)
定義: 它是一棵空樹或者具有以下性質:若它的左子樹不空,則左子樹上所有結點的值都小於它的根結點的值;若它的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值;它的左右子樹也分別為二叉搜尋樹。
圖示:
5.最優二叉樹
定義: 給定N個權值作為N個葉子結點,構造一棵二叉樹,若該樹的帶權路徑長度達到最小,稱這樣的二叉樹為最優二叉樹,也稱為哈夫曼樹。哈夫曼樹是帶權路徑長度最短的樹,權值較大的結點離根較近。
相關文章
- 資料結構之樹結構概述(含滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹、紅黑樹、B-樹、B+樹、B*樹)資料結構二叉樹
- js實現完全排序二叉樹、二叉搜尋樹JS排序二叉樹
- 排序二叉樹和平衡二叉樹排序二叉樹
- 手擼二叉樹——二叉查詢樹二叉樹
- 平衡二叉查詢樹:紅黑樹
- 手擼二叉樹——AVL平衡二叉樹二叉樹
- 資料結構中的樹(二叉樹、二叉搜尋樹、AVL樹)資料結構二叉樹
- 二叉搜尋樹和二叉樹的最近公共祖先二叉樹
- 自己動手作圖深入理解二叉樹、滿二叉樹及完全二叉樹二叉樹
- 平衡二叉樹(AVL樹)和 二叉排序樹轉化為平衡二叉樹 及C語言實現二叉樹排序C語言
- 二叉搜尋樹
- 平衡二叉樹二叉樹
- 平衡二叉樹,B樹,B+樹二叉樹
- 判斷二叉樹是否為滿二叉樹二叉樹
- 二叉查詢樹
- 滿二叉樹二叉樹
- JavaScript 二叉搜尋樹以及實現翻轉二叉樹JavaScript二叉樹
- 平衡樹和二叉樹的區別二叉樹
- 二叉樹(順序儲存二叉樹,線索化二叉樹)二叉樹
- Day20 | 654.最大二叉樹 、 617.合併二叉樹 、 700.二叉搜尋樹中的搜尋 98.驗證二叉搜尋樹二叉樹
- 平衡二叉樹(AVL)二叉樹
- 二叉查詢樹和笛卡爾樹
- 5分鐘瞭解二叉樹之二叉查詢樹二叉樹
- 手寫AVL平衡二叉搜尋樹
- 程式碼隨想錄——二叉樹-12.平衡二叉樹二叉樹
- 樹和二叉樹簡介二叉樹
- 十三、Mysql之平衡二叉樹(AVL樹)MySql二叉樹
- 平衡二叉樹(AVL樹),原來如此!!!二叉樹
- 二叉樹二叉樹
- 相同二叉樹和鏡面二叉樹問題二叉樹
- Python 樹表查詢_千樹萬樹梨花開,忽如一夜春風來(二叉排序樹、平衡二叉樹)Python排序二叉樹
- 【LeetCode-二叉樹】二叉樹前序遍歷LeetCode二叉樹
- 有序表和搜尋二叉樹二叉樹
- 霍夫曼樹(最優二叉樹)的實現二叉樹
- 110. 平衡二叉樹二叉樹
- 二叉查詢樹【二叉排序樹】構建和查詢演算法 PHP 版排序演算法PHP
- Java實現紅黑樹(平衡二叉樹)Java二叉樹
- 二叉樹、B樹以及B+樹二叉樹