第四章:樹與二叉樹(樹的基本概念)
1.樹的基本概念
首先樹是一種邏輯結構。
**樹:**是n(n≥0
)個結點的有限集合,n=0時,稱爲空樹。而任意非空樹應滿足:
- 1)有且僅有一個特定的稱爲
根
的結點 - 2)當n>1時,其餘結點可分爲m(m>0個互不相交的有限集合,其中每一個集合本身又是一棵樹,稱爲根結點的
子樹
。
特點: 除根結點外每一個結點都有一個一個前驅結點。每一個結點都有零個或多個後繼結點。
n個結點的樹只有n-1條邊。
2.基本術語
2.1樹的結點
2.2樹的度
度: 樹中一個結點的子節點
的個數稱爲該結點的度
樹的度: 樹中最大度數稱爲樹的度
A的度:4
2.3樹的分支結點和葉子結點
度大於0的結點稱爲 分支結點 (ABCDE)
度爲0的結點稱爲 葉子結點 (FGHIJKL)
2.4結點的層次、高度、深度
層次: 有的第一層也叫第零層
結點的高度:從葉結點開始向上逐層累加的。例如B結點的高度爲3,他分別經歷了第四層、第三層和第二層。
結點的深度:從根結點自頂向下逐層累加的。
樹的高度(深度)是樹中結點的最大層數。 高度和深度是相同的。
2.5有序樹與無序樹
有序樹
從左到右每一個子樹都是有次序的。
無序樹
從左到右每一個子樹都是無次序的。這種樹稱爲無序樹,也稱爲自由樹
2.6路徑
路徑 樹中兩個結點之間的路徑是由這兩個結點之間所經過的結點序列
構成的。
樹中的分支是有向的,即從雙親結點指向孩子結點,所以路徑一定是自上而下的,也就是說E結點是無法到達F結點的,他們之間不存在路徑。
例如:A到E的路徑爲:ABE
路徑長度:路徑上所經歷邊
的個數。
例如:A到E的路徑長度爲:2
2.7森林
森林:m(m>=0)棵互不相交的樹的集合。
3.樹的性質
1)樹種結點的個數等於所有結點(不算根結點)的度數加 1
2)度爲m的樹種第i
層上至多有m^(i-1)個結點(i>=1)
3)高度爲h的m叉樹至多有(m^h-1)/(m-1)個結點
這個就是等比數列求和,最多就是每一個結點的子結點數都爲m,這個等比數列的公比爲m,首項都是1,根據等比數列1-m爲負數,1-q^n也爲負數,這裏公式就直接調換位置了,結果不變。
4)具有n個結點的m叉樹的最小高度爲logm(n(m-1)+1) 向下取整。
這個就是第三個性質的推論,首先是高度最小,則就是
儘量
將結點安排在較小的層上面,也就是每一個結點的子結點數儘量都爲m,設(m^h-1)/(m-1)=n,求出m即可,至於結果向下取整,是因爲這個結果計算的不一定爲整數,因爲我們這裏的條件是最小高度,則就是每層結點個數,除了最後一層,都達到最大數,那麼這個最後一層可能就不滿足結點最大數,那麼使用這個公式計算的結果就會出現小數,但是最後一層也是有結點的也算一層,所以向下取整。
關於數據結構的知識,持續更新中,歡迎關注公衆號理木客
。