二叉搜索樹

1.樹的定義

樹結構是一種非常重要的非線性結構,該結構中的一個數據元素可以有兩個或兩個以上的直接後繼元素,樹可以用來描述客觀世界中廣泛存在的層次結構關係。 輸的定義如下:

(1)樹是n(n>=0)個結點的有限集合,當n=0時稱爲空樹;

(2)在任一非空樹(n>0)中,有且僅有一個稱爲根的結點;

(3)其餘結點可分爲m(m>=0)個互不相交的有限子集T1,T2,T3,...Tm,其中,每個Ti又都是一棵樹,並且稱爲根結點的子樹。

如下圖1-1所示,爲樹的結構示意圖。

                                                                                               圖1-1 某樹的結構圖

2.樹的基本概念

(1)雙親、孩子、兄弟。結點的子樹的根稱爲該結點的孩子;相應地,該結點稱爲子結點的雙親。具有相同雙親的結點互爲兄弟。

(2)結點的度。一個結點的子樹的個數記爲該結點的度。例如圖1-1中,A的度爲3,B的度爲2,C的度爲0,D的度爲0。

(3)葉子結點。葉子結點也稱爲終端結點,指度爲0的結點。例如,圖1-1中,E、F、C、D都是葉子結點。

(4)內部結點。度不爲0的結點,也稱爲分支結點或非終端結點。除根節點以外,分支結點也稱爲內部結點。例如,圖1-1中,B爲內部結點。

(5)結點的層次。根爲第一層,根的孩子爲第二層,依此類推,若某結點在第i層,則其孩子結點在第i+1層。例如,圖1-1中,A在第1層,B、C、D在第2層,E、F在第3層。

(6)樹的高度。一棵樹的最大層數記爲樹的高度或深度。例如,圖1-1中的書深度爲3。

(7)有序樹和無序樹。若將書中結點的各子樹看成是從左到右具有次序的,即不能交換,則稱該樹爲有序樹,否則稱爲無序樹。

3.二叉樹的定義

二叉樹是n(n>=0)個結點的有限集合,它或者是空樹,或者是由一個根節點及兩顆不相交的且分別稱爲左、右子樹的二叉樹所組成。二叉樹結點的最大度爲2。

4.二叉搜索樹

一棵二叉搜索樹滿足下面條件:

(1)所有左分支的值都小於本結點的值;

(2)本結點的值小於所有右分支的值。

如圖4-1所示,就是一棵二叉搜索樹:

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