1. 程式人生 > 其它 >樹的概念及基本術語

樹的概念及基本術語

樹的定義

  • 樹是一種非線性資料結構,它是若干結點的集合。
  • 是由唯一的和若干不相交的子樹組成的。
  • 子樹又是一顆樹,因此樹的定義是遞迴的。
  • 樹的結點數目可為0,此時稱之為空樹

樹的基本術語

  • 結點(結點包含資料元素和指向子樹的分支)
  • 路徑:一個結點和另一個經過的邊和結點的序列
  • 根(根結點):一棵樹的頂點
  • 結點的度:結點擁有子樹和分支的個數。
  • 樹的度:樹中結點度的最大值。
  • 葉子結點(終端結點):度為0的結點。
  • 分支結點(非終端結點):度不為0的結點。
  • 孩子:結點的子樹的根。
  • 雙親(父結點):指向該結點的結點。
  • 兄弟:擁有相同父結點的孩子互稱兄弟。
  • 祖先:從根到某結點路徑上的所有結點,都稱為該結點的祖先。
  • 子孫:以某結點為根的子樹的所有結點都為該結點的子孫。
  • 層次:從根開始,為第一層,根的孩子為第二層,根的孩子的孩子為第三層,以此類推。
  • 樹的高度(樹的深度):樹中結點的最大層次。
  • 堂兄弟:雙親不同但雙親在同一層的結點之間互稱堂兄弟。
  • 有序樹:樹中結點的子樹從左到右是有次序的,不能交換,這樣樹叫有序樹。
  • 無序樹:樹中結點的子樹沒有順序
  • 豐滿樹(理想平衡樹):除最底層外,其他層都是滿的樹。
  • 森林:若干棵不相交的樹的集合。

對與結點深度和高度的理解

  1. 結點的深度是指根結點到該結點路徑上結點的個數
  2. 從某結點往下走到終端結點可有多條路徑,最長的那條路徑上結點的個數為該結點在樹中的高度。
  3. 根結點的高度為樹的高度

樹的儲存結構

  • 順序儲存結構
  • 鏈式儲存結構
    • 孩子儲存結構(本質上是圖的鄰接表儲存結構)
    • 孩子兄弟儲存結構