資料結構筆記 二叉樹的定義和性質

2021-09-11 11:28:33 字數 2287 閱讀 4823

在一些電視節目中,會猜測商品**,有的人是一點一點的數字累加,這樣的策略效率太低了。其實有一種經典的折半查詢演算法,就類似於我們今天要說的二叉樹。

二叉樹:是n(n>=0)個結點的有限集合,該集合或者為空集(稱為空二叉樹),或者由乙個根結點和兩棵互不相交的、分別稱為根結點的左子樹和右子樹的二叉樹組成。

如下圖就是乙個二叉樹:

二叉樹的特點有:

二叉樹具有五種基本形態:

空二叉樹;

只有乙個根結點;

根結點只有左子樹;

根結點只有右子樹;

根結點既有左子樹又有右子樹。

再來介紹一些特殊的二叉樹。

1、斜樹

顧名思義,斜樹一定是斜的,但是往那邊斜還是有講究的。

所有的結點都只有左子樹的二叉樹叫左斜樹,所有結點都是只有右子樹的二叉樹叫右斜樹。兩種統稱為斜樹。

下面兩個圖分別就是左斜樹和右斜樹:

2、滿二叉樹

蘇東坡有詩云:人有悲歡離合,月有陰晴圓缺,此事古難全。意思就是完美是理想,不完美才是人生。

我們通常看到的例子全是左高右低、參差不齊的二叉樹,是否有完美的二叉樹呢。

在一棵二叉樹中,如果所有分支結點都存在左子樹和右子樹,並且所有的葉子結點都在同一層上,這樣的二叉樹叫做滿二叉樹。如圖

單單是每個結點都有左右子樹,不能算是滿二叉樹,還必須要所有的葉子結點都處在同一層,這樣就做到了二叉樹的平衡。因此滿二叉樹的特點有:

葉子只能出現在最下面一層,出現在其他層就不能達到平衡;

非葉子結點的度一定是2;

同樣深度的二叉樹中,滿二叉樹的結點個數最多,葉子樹最多。

3、完全二叉樹

**對一棵具有n個結點的二叉樹按層序編號,如果編號為i(1<=i<=n)的結點與同樣深度的滿二叉樹中編號為i的結點在二叉樹中位置完全相同,則這棵二叉樹稱為完全二叉樹。**如圖:

首先要從字面上區分,「完全」和「滿」的差異,滿二叉樹一定是完全二叉樹,完全二叉樹不一定是滿的。

注意完全二叉樹中的編號與滿二叉樹中的相同,而且編號全部連續,有斷開的就不是完全二叉樹,如下圖中的三棵樹都不是完全二叉樹。

完全二叉樹的特點:

葉子結點只能出現在最下面兩層;

最下層的葉子一定集中在左部連續位置;

倒數二層,若有葉子結點,一定都在右部連續位置;

如果結點的度為1,則該結點只有左孩子,即不存在只有右子樹的情況;

同樣結點數的二叉樹,完全二叉樹深度最小。

我們也得出乙個判斷某二叉樹是否是完全二叉樹的方法,那就是看著樹的示意圖,心中默默給每個結點按照滿二叉樹的結構逐層順序編號,如果編號出現空擋,就說明不是完全二叉樹,否則就是。

二叉樹有一些需要理解並記住的特性,便於更好地使用它。

在二叉樹的第i層上至多有2i-1個結點(i>=1)。

上圖中: 第1層: 1個: 21-1=20=1 第2層: 1個: 22-1=21=2 第3層: 1個: 23-1=22=4 第4層: 8個: 24-1=23=8

通過資料歸納法,很容易得出在二叉樹的第i層上最多有 2i-1個結點。

深度為k的二叉樹最多有2k-1個結點(k>=1)。

這裡注意是2的k次冪再減1。

如果有一層,最多1=21-1個結點 如果有兩層,最多1+2=22-1個結點 如果有三層,最多1+2+4=23-1個結點 如果有四層,最多1+2+4+8=24-1個結點

通過資料歸納法的論證,可以得出如果有k層,結點數最多為2k-1。

對任何一棵二叉樹t,如果其終端結點數為n0,度為2的結點數為n2,則n0=n2+1

終端結點就是葉子結點,而一棵二叉樹,除了葉子結點外,剩下的就是度為1和2的結點了,設n1是度為1的結點數。則樹t的結點總數就是n=n0+n1+n2。

我們換個角度,再數一數連線線,由於根結點只有分支出去,沒有分支進入,所以分支線總數為結點總數減去1,n-1=n1+2n2,又因為n=n0+n1+n2,得出n0=n2+1 。

具有n個結點的完全二叉樹的深度為不大於log2n的最大整數+1 。

這裡不再詳細推導。

如果對一棵有n個結點的完全二叉樹的結點按層序編號(從第一層到最後一層,每層從左到右),對任一結點i(1<=i<=n)有:

如果i=1,則結點i是二叉樹的根,無雙親;如果i>1,則其雙親是結點 ⌊ i/2 ⌋ 。

如果2i>n,則結點i無左孩子(結點i為葉子結點);否則其左孩子是結點2i 。

如果2i+1>n,則結點i無右孩子;否則其右孩子是結點2i+1 。

資料結構二叉樹性質

性質是從概念觀察 思考得來,我們此處總結歸納一些有用的性質 性質1 二叉樹的第n層,最多有2 n 1 個節點 n 1,第一層,最多1個節點,2 1 1 1 n 2,第二層,最多2個節點,2 2 1 2 n 3,第三次,最多4個節點,2 3 1 4 性質2 深度為n的二叉樹,最多有2 n 1個節點 第...

資料結構 二叉樹 二 二叉樹的性質

滿二叉樹是每層的節點個數都達到了最多的二叉樹,如下圖所示 完全二叉樹是節點的編號順序與滿二叉樹一致,但最後一層的節點可能會在末尾連續得少一些,如下圖所示 從上往下數,第i層上最多有2 i 1 個節點。深度為k得二叉樹至多有2 k 1個節點 對任意一顆二叉樹,其終端節點 葉子節點 數為n0,度為2的節...

二叉樹的定義 性質

一 二叉樹的定義 二叉樹是一種特殊的樹結構,也是常用的樹結構。二叉樹的儲存和處理比一般的樹簡單,同時一般的樹都能通過 簡單的轉換得到與之對應的二叉樹,這樣就可以採用二叉樹的儲存結構和有關演算法來解決樹的有關問題。二叉樹與樹一樣具有遞迴性質,它與樹的區別主要有以下兩點 1 二叉樹的每個結點至多只有兩棵...