1. 程式人生 > >資料結構——樹——樹的表示

資料結構——樹——樹的表示

樹的定義:

樹狀圖是一種資料結構,它是由n(n>=1)個有限結點組成一個具有層次關係的集合。把它叫做“樹”是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。它具有以下的特點:
每個結點有零個或多個子結點;沒有父結點的結點稱為根結點;每一個非根結點有且只有一個父結點;除了根結點外,每個子結點可以分為多個不相交的子樹;
在這裡插入圖片描述在這裡插入圖片描述

樹的一些基本術語

1. 結點的度(Degree):結點的子樹個數
2. 樹的度:樹的所有結點中最大的度數

3. 葉結點(Leaf):度為0的結點
4. 父結點(Parent):有子樹的結點是其子樹 的根結點的父結點
5. 子結點(Child):若A結點是B結點的父結 點,則稱B結點是A結點的子結點;子結點也 稱孩子結點。
6. 兄弟結點(Sibling):具有同一父結點的各 結點彼此是兄弟結點。
7. 路徑和路徑長度:從結點n1到nk的路徑為一 個結點序列n1 , n2 ,… , nk , ni是 ni+1的父結 點。路徑所包含邊的個數為路徑的長度。
8. 祖先結點(Ancestor):沿樹根到某一結點路 徑上的所有結點都是這個結點的祖先結點。
9. 子孫結點(Descendant):某一結點的子樹 中的所有結點是這個結點的子孫。
10. 結點的層次(Level):規定根結點在1層, 其它任一結點的層數是其父結點的層數加1。
11. 結點的層次(Level):規定根結點在1層, 其它任一結點的層數是其父結點的層數加1。
12. 樹的深度(Depth):樹中所有結點中的最 大層次是這棵樹的深度。


在這裡插入圖片描述在這裡插入圖片描述