樹 二叉樹簡介

2021-07-10 13:00:02 字數 2862 閱讀 6494

一、樹的定義

樹是由n(n>=1)個有限節點組成乙個具有層次關係的集合,它有如下特點:

1、每個節點有零個或多個子節點;

2、沒有父節點的節點稱為根節點;

3、每乙個非根節點有且只有乙個父節點;

4、除了根節點外,每個子節點可以分為多個不相交的子樹。

一棵樹至少包含乙個樹節點,不存在不包含樹節點的樹。

樹中節點的最大層次稱為樹的深度(或高度)。

二、二叉樹的定義

二叉樹是每個節點最多有兩個子樹的樹結構。通常子樹被稱作「左子樹」(left subtree)和「右子樹」(right subtree)。

二叉樹與樹不同之處:

1、樹的節點個數至少為1,而二叉樹的節點個數可以為0;

2、樹中節點的最大度數沒有限制,而二叉樹節點的最大度數為2;

3、樹的節點無左、右之分,而二叉樹的結點有左、右之分。

二叉樹的性質:

1、在二叉樹的第i層最多有2^(i-1)個節點(i≥1);

2、深度為h的二叉樹至多有2^h - 1個節點;

3、包括n(n>1)個元素的二叉樹的邊樹為n-1;

4、對於任何一顆二叉樹,若其葉子節點數記為n0,其度為2的節點數記為n2,則有n0 = n2+1。

5、若一顆滿二叉樹有n個節點,則其深度h應為h = log2(n)+1,對數取下限。

6、一顆有n個節點的完全二叉樹,從左至右,從上至下,從1開始編號,對於編號為i的節點,有:

(1)若i=1,則i是根節點;若i≠1,則i/2是i的父親;

(2)若2i≤n,則i的左孩子是2i;若2i>n,則i沒有孩子;

(3)若2i+2≤n,則i的右孩子是2i+1;若2i+1>n,則i沒有右孩子。

二叉樹的遍歷方式:前根(根左右)、中根(左根右)、後根(左右根)遍歷。

三、完全二叉樹的定義

對於一顆二叉樹,假設其深度為d(d>1)。除了第d層外,其它各層的節點數目均已達最大值,且第d層所有節點從左向右連續地緊密排列,這樣的二叉樹被稱為完全二叉樹。

在一棵二叉樹中,除最後一層外,其餘層都是滿的,並且最後一層或者是滿的,或者是在右邊缺少連續若干節點,則此二叉樹為完全二叉樹。

四、滿二叉樹的定義

一棵深度為k,且有2^k-1個節點的二叉樹,稱為滿二叉樹。

對於上述的完全二叉樹,如果去掉其第d層的所有節點,那麼剩下的部分就構成乙個滿二叉樹(此時該滿二叉樹的深度為d-1)。

五、平衡二叉樹的定義

平衡二叉樹的定義如下:

1、它的左子樹和右子樹的高度之差的絕對值不超過1;

2、它的左子樹和右子樹都是平衡二叉樹。

六、二叉搜尋樹的定義

二叉搜尋樹的定義如下:

1、任意節點的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值;

2、任意節點的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值;

3、任意節點的左、右子樹也分別為二叉查詢樹;

4、沒有鍵值相等的節點。

七、霍夫曼樹的定義

霍夫曼樹又稱最優二叉樹,是一種帶權路徑長度最短的二叉樹。霍夫曼樹的所有元素都在葉子節點上。

所謂樹的帶權路徑長度,就是樹中所有的葉結點的權值乘上其到根結點的路徑長度(若根結點為0層,葉結點到根結點的路徑長度為葉結點的層數)。

二叉樹簡介

數的常用術語 1.節點 2.根節點 3.父節點 4.字節點 5.葉子節點 沒有子節點 6.節點的權 節點值 7.路徑 從root節點找到該節點的路徑 8.層9.子樹 10.樹的高度 最大層數 11.森林 多棵子樹構成森林 二叉的概念 1.樹有很多種,每種節點最多只能有兩個子節點的一種形式稱為二叉樹 ...

樹 二叉樹 滿二叉樹 完全二叉樹 完滿二叉樹

目錄名稱作用根 樹的頂端結點 孩子當遠離根 root 的時候,直接連線到另外乙個結點的結點被稱之為孩子 child 雙親相應地,另外乙個結點稱為孩子 child 的雙親 parent 兄弟具有同乙個雙親 parent 的孩子 child 之間互稱為兄弟 sibling 祖先結點的祖先 ancesto...

二叉樹 二叉樹

題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...