資料結構常用樹的基本總結

2021-07-10 02:02:41 字數 2406 閱讀 1471

樹是一種比較常用的資料結構,現在做乙個常用樹的基本總結:

樹的基本概念

(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 個有限結點組成乙個具有層次關係的集合。把它叫做樹是因 為它...