樹結構

樹結構

樹(Tree)結構是一種描述非線性層次關係的數據結構,其中重要的是樹的概念。樹是N個數據結點的集合,在該集合中包含一個根結點,根結點之下分佈着一些互不交叉的子集合,這些子集合是根結點的子樹。樹結構的基本特徵如下:

  • 在一個樹結構中,有且僅有一個結點沒有直接前驅,這個結點就是樹的根結點。
  • 除根結點以外,其餘每個結點有且僅有一個直接前驅。
  • 每個結點有任意多個直接後繼。

一個樹結構可以是空,此時空樹種沒有數據結點,也就是一個空集合。如果樹結構中僅包含一個結點,那麼這也是一個樹,樹根便是該節點自身。

從樹的定義可以看出,樹具有層次結構的性質。而從數學的角度來看,樹具有遞歸的特性。在樹中的每個結點及其之後的所有結點構成一個子樹,這個子樹也包括根結點。

基本概念

  • 父結點和子節點:每個結點子樹的根稱爲該結點的子結點,相應的,該結點稱爲其子結點的父結點。
  • 兄弟結點:具有同一父結點的結點稱之爲兄弟結點。
  • 結點的度:一個結點所包含子樹的數量。
  • 樹的度:指該樹所有結點中最大的度。
  • 葉結點:樹中度爲零的結點稱爲葉結點或終結點。
  • 分支結點:樹中度不爲零的結點稱爲分支結點或非終端結點。
  • 結點的層數:結點的層數從樹根開始計算,根結點爲第1層、依次向下爲第2、3、……n層
  • 樹的深度:樹種結點的最大層數稱爲樹的深度。
  • 有序樹:若樹中各個結點的子樹是按一定次序從左向右排列的,稱爲有序樹。
  • 無序樹:若樹中各結點的子樹未按照一定次序排列,稱爲無序樹。
  • 森林(forest):n(n>0)棵互不相交的樹的集合。

樹的表示

由於樹結構不是一種線性結構,很難用數學式子來表示,這就需要採用全新的方式來表示樹。一般來說,常採用層次括號法。

  • 根結點放入一對括號中;
  • 根結點的子樹由左至右的順序放入括號中;
  • 對子樹做上述相同的處理。

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

發佈了42 篇原創文章 · 獲贊 2 · 訪問量 6455
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章