數據結構系列-樹

樹是一種重要的非線性數據結構,直觀地看,它是數據元素(在樹中稱爲結點)按分支關係組織起來的結構,很象天然界中的樹那樣。樹結構在客觀世界中普遍存在,如人類社會的族譜和各類社會組織機構均可用樹形象表示。樹在計算機領域中也獲得普遍應用,如在編譯源程序以下時,可用樹表示源源程序以下的語法結構。又如在數據庫系統中,樹型結構也是信息的重要組織形式之一。一切具備層次關係的問題均可用樹來描述。數據庫

(一)樹的定義數據結構

樹是由一個或多個結點組成的有限集合,其中:遞歸

⒈必有一個特定的稱爲根(ROOT)的結點;結點的層次(Level)從根開始定義,根爲第一層,根的孩子爲第二層.編譯

⒉剩下的結點被分紅n>=0個互不相交的集合T一、T二、......Tn,並且, 這些集合的每個又都是樹。樹T一、T二、......Tn被稱做根的子樹(Subtree)。終端

樹的遞歸定義以下:(1)至少有一個結點(稱爲根)(2)其它是互不相交的子樹語法

1.結點度——也便是寬度,簡單地說,就是結點的分支數或所擁有的子樹的個數稱爲該結點的度(Degree);程序

2.樹的度——也便是寬度,以組成該樹各結點中最大的度做爲該樹的度。樹中度爲零的結點稱爲葉結點或終端結點,樹中度不爲零的結點稱爲分枝結點或非終端結點。除根結點外的分枝結點統稱爲內部結點。度爲m的樹爲m叉樹 方法

3.樹的深度——組成該樹各結點的最大層次,數據

4.森林——指若干棵互不相交的樹的集合,去掉根結點A,其原來的二棵子樹T一、T二、T3的集合{T1,T2,T3}就爲森林;計算機

5.有序樹——指樹中同層結點從左到右有次序排列,它們之間的次序不能互換,這樣的樹稱爲有序樹,不然稱爲無序樹。

6.樹的表示

樹的表示方法有許多,經常使用的方法是用括號:先將根結點放入一對圓括號中,而後把它的子樹由左至右的順序放入括號中,而對子樹也採用一樣的方法處理;同層子樹與它的根結點用圓括號括起來,同層子樹之間用逗號隔開,最後用閉括號括起來。如上圖可寫成以下形式:

(A(B(E(K,L),F),C(G),D(H(M),I,J)))

相關文章
相關標籤/搜索