滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹(二叉查詢樹)和最優二叉樹

沐風大大發表於2020-11-02

1. 滿二叉樹

定義: 一個二叉樹,除去最後一層無任何子結點外,每一層上的所有結點都有兩個子結點。或者說,如果一個二叉樹的層數為k,且節點總數為(2^k)-1,則它就是滿二叉樹。
圖示:
在這裡插入圖片描述

2.完全二叉樹

定義: 一顆深度為k的有n個結點的二叉樹,對樹種的結點按從上到下,從左到右的順序進行編碼,如果編碼為i的結點與滿二叉樹中編碼為i的結點在二叉樹中的位置相同,則這棵二叉樹稱為完全二叉樹。通俗來講: 除了k層以外,其他層的結點數都達到最大,在第k層的結點都連續 集中在最左側,這就是完全二叉樹。
圖示:
在這裡插入圖片描述

3.平衡二叉樹(AVL樹)

定義: 它是一棵空樹或者它的左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹。
圖示:
在這裡插入圖片描述

4.二叉搜尋樹(二叉查詢樹)

定義: 它是一棵空樹或者具有以下性質:若它的左子樹不空,則左子樹上所有結點的值都小於它的根結點的值;若它的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值;它的左右子樹也分別為二叉搜尋樹。
圖示:
在這裡插入圖片描述

5.最優二叉樹

定義: 給定N個權值作為N個葉子結點,構造一棵二叉樹,若該樹的帶權路徑長度達到最小,稱這樣的二叉樹為最優二叉樹,也稱為哈夫曼樹。哈夫曼樹是帶權路徑長度最短的樹,權值較大的結點離根較近。

相關文章