树的度是什么


树结构
树结构是一種重要的非線性數據結構,其結點之間存在分支,並具有層級關係,類似於自然界中的樹木。樹結構在現實世界中廣泛存在,例如家譜、組織機構等都可以用樹狀結構表示;在電腦領域,樹結構也廣泛應用於編譯器(表示源代碼語法)、數據庫(組織資訊)和算法執行過程描繪等場景。遞迴是樹結構固有的特徵。
樹的定義
樹(Tree)是一個由 n 個結點(n ≥ 0)組成的有限集合。
當 n = 0 時,稱為空樹。
在非空樹中,有一個且僅有一個特定結點稱為根結點(Root)。
當 n > 1 時,其餘結點可以分為 m 個(m > 0)互不相交的有限集合 T1、T2、...、Tm,其中每個集合本身又是一棵樹,稱為根結點的子樹(SubTree)。
非樹
上圖就不是樹結構,因為子樹 D 和 E 相互連接。
結點的度
樹中的結點包含一個數據元素和指向其子樹的分支數目。結點擁有子樹的數目稱為該結點的度(Degree)。
度為 0 的結點稱為葉子結點或終端結點。
度不為 0 的結點稱為非終端結點或分支結點。
除根結點外,分支結點也稱為內部結點。
樹的度
樹的度是指樹中所有結點度的最大值。
結點的關係
子結點:結點的子樹的根。
父結點:一個結點所有子樹根的雙親。
祖先結點:從根到該結點的路徑上的所有結點。
子孫結點:從某結點到葉子結點的路徑上的所有結點。
兄弟結點:同一父結點的孩子。
堂兄弟:其父結點在同一層級的結點。
結點的層級
從根結點開始,結點的層級定義為:
根結點為第一層。
根結點的孩子為第二層。
其他結點的層級為其父結點的層級加 1。
樹中結點的最大層級稱為樹的深度(Depth)或高度。
有序樹與無序樹
如果將樹中結點的子樹從左至右視為有序且不可互換,則稱為有序樹。否則,稱為無序樹。
樹的定理
對於任何一棵樹:
結點數 = 分支數 + 1