【樹】二叉樹的基本概念與性質

二叉樹的定義與基本操作

1.定義:把滿足以下兩個條件的樹型結構叫做二叉樹(Binary Tree):

  • (1) 每個結點的度都不大於 2;
  • (2) 每個結點的孩子結點次序不能任意顛倒。

由此定義可看出,一個二叉樹中的每個結點只能含有 0、1 或 2 個孩子,而且每個孩子有左右之分。位於左邊的孩子叫做左孩子,位於右邊的孩子叫做右孩子。

在這裏插入圖片描述
在這裏插入圖片描述

二叉樹的性質
性質1:在二叉樹的第 i 層上至多有 2^(i-1)個結點(i≥1)。

在這裏插入圖片描述

性質2:深度爲 k 的二叉樹至多有 2^k-1 個結點(k≥1)。

在這裏插入圖片描述

性質3:對任意一棵二叉樹 T,若終端結點數爲 n0,而其度數爲 2 的結點數爲 n2,則 n0= n2+1

在這裏插入圖片描述

滿二叉樹

在這裏插入圖片描述
滿二叉樹的順序表示,即從二叉樹的根開始,層間從上到下,層內從左到右,逐層進行編號(1,2,···,n)

完全二叉樹

在這裏插入圖片描述

性質4:具有 n 個結點的完全二叉樹的深度爲 [log2 n]+1

在這裏插入圖片描述

性質5

在這裏插入圖片描述

二叉樹的存儲結構

二叉樹是非線性的,每一個結點最多有兩個直接後繼

順序存儲

在這裏插入圖片描述在這裏插入圖片描述

鏈式存儲

在這裏插入圖片描述

typedef struct Node
{
    DataType data;
    struct Node *LChild;
    struct Node *RChild;
} BiTNode, *BiTree;

在這裏插入圖片描述

若一個二叉樹含有 n 個結點,則它的二叉鏈表中必含有 2n 個指針域,其中必有 n+1 個空的鏈域。
證明:分支數目 B=n-1,即非空的鏈域有 n-1 個,故空鏈域有 2n-(n-1)=n+1 個。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章