一、樹的定義
樹是由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的所在子樹...