樹是一種比較常用的資料結構,現在做乙個常用樹的基本總結:
樹的基本概念
(1)樹(tree)的概念:樹是一種遞迴定義的資料結構,是一種重要的非線性資料結構。樹可以是一棵空樹,它沒有任何的結點;也可以是一棵非空樹,至少含有乙個結點。
(2)根(root):有且僅有乙個結點的非空樹,那個結點就是根。
(3)子樹(subtree):在一棵非空樹中,除根外,其餘所有結點可以分為m(m≥0)個互不相交的集合。每個集合本身又是一棵樹,稱為根的子樹。
(4)結點(node):表示樹中的元素及若干指向其子樹的分支。
(5)結點的度(degree):乙個結點擁有的子樹數目稱為該結點的度。
(6)葉子結點(leaf):度為0的結點。
(7)孩子(child):結點子樹的根稱為該結點的孩子。
(8)雙親(parents):孩子結點的上層結點叫該結點的雙親。
(9)兄弟(sibling):同一雙親的孩子。
(10)樹的度:一棵樹中最大的結點度數。
(11)結點的層次(level):從根結點開始定義根為第一層,它的孩子為第二層,依此類推。
(12)深度(depth):樹中結點最大層次的值。
(13)有序樹:樹中的各子樹自左向右有序的稱為有序樹。
(14)無序樹:樹中的各子樹自左向右無序的稱為無序樹。
(15)森林(forest):是m(m≥0)棵互不相交的樹的集合。
(16)祖先:是指從根結點到該結點之間所有的結點。
樹的型別:
二叉樹:(1
)二叉樹是每個節點最多有兩個子樹的樹結構;(2
)二叉樹的子樹有左右之分,次序不能顛倒;(3
)二叉樹的第
i層至多有
2^個結點;(4
)深度為
k的二叉樹至多有
2^k-1
個結點;(5
)對任何一棵二叉樹
t,如果其終端結點數為
n0,度為
2的結點數為
n2,則
滿二叉樹:是深度為
k,且有
2^k-1
個節點的二叉樹。
完全二叉樹:深度為k,有
n個節點的二叉樹,其每乙個節點都與深度為
k的滿二叉樹中,序號為1至
n的節點對應。
平衡二叉樹:是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過
1,並且左右兩個子樹都是一棵平衡二叉樹。
線索二叉樹:
n個結點的二叉鍊錶中含有
n+1(2n-(n-1)=n+1)
個空指標域。利用二叉鍊錶中的空指標域,存放指向結點在某種遍歷次序下的前趨和後繼結點的指標(這種附加的指標稱為"線索
")。線索二叉樹可分為前序線索二叉樹、中序線索二叉樹和後序線索二叉樹三種。
二叉排序樹:
(1)若左子樹不空,則左子樹上所有結點的值均小於它的根節點的值;
(2)若右子樹不空,則右子樹上所有結點的值均大於它的根結點的值;
(3)左、右子樹也分別為二叉排序樹;
(4)沒有鍵值相等的節點。
b樹:一棵m階b樹(balanced tree of order m)是一棵平衡的m路搜尋樹。它或者是空樹,或者是滿足下列性質的樹:
1、根結點至少有兩個子女;
2、每個非根節點所包含的關鍵字個數j 滿足:[m/2] - 1 <= j <= m - 1;
3、除根結點以外的所有結點(不包括葉子結點)的度數正好是關鍵字總數加1,故內部子樹個數k 滿足:[m/2] <= k <= m;
4、所有的葉子結點都位於同一層。
b+樹:b+樹是應檔案系統所需而出的一種b-樹的變型樹。b+ 樹通常作為元資料索引用於資料庫和作業系統的檔案系統中。
一棵m階的b+樹和m階的b-樹的差異在於:
1.有n棵子樹的結點中含有n個關鍵字,每個關鍵字不儲存資料,只用來索引,所有資料都儲存在葉子節點。
2.所有的葉子結點中包含了全部關鍵字的資訊,及指向含這些關鍵字記錄的指標,且葉子結點本身依關鍵字的大小自小而大順序鏈結。
3.所有的非終端結點可以看成是索引部分,結點中僅含其子樹(根結點)中的最大(或最小)關鍵字。
常用資料結構 樹
參考 資料結構中的各種樹 data structure 資料結構中各種樹 二叉查詢樹是一種動態查詢表 圖a 具有這些性質 含有相同節點的二叉查詢樹可以有不同的形態,而二叉查詢樹的平均查詢長度與樹的深度有關,所以需要找出乙個查詢平均長度最小的一棵,那就是平衡二叉樹 圖b 具有以下性質 紅黑樹是一種自平...
資料結構樹的基本操作 資料結構 樹的基本操作
include include include gtree.h include linklist.h typedefstruct tag gtreenode gtreenode 樹的節點 struct tag gtreenode gtreedata data 節點自身資料 gtreenode par...
資料結構 樹的基本認識
前言 一 樹的定義及基本術語 1.樹的定義 2.基本術語 3.樹的性質 二 樹的表示 儲存結構 樹形結構是一類重要的非線性結構。樹形結構是結點之間有分支,並且具有層次關係的結構,類似於大自然中的樹。樹是一種非線性的資料結構,它是由n n 0 個有限結點組成乙個具有層次關係的集合。把它叫做樹是因 為它...