樹的高度 深度 層數

2021-09-13 18:31:47 字數 560 閱讀 6820

可能是全網最透徹的講解樹的基本概念的一篇文章了。

對於很多朋友來說,特別是半路出家轉碼農的朋友來說,資料結構是最薄弱的一項了,線性表和鍊錶還好理解(如果鍊錶不懂的見我的另一篇文章一到樹就完全懵逼了,甚至看不懂別的網友發的部落格。大部分原因是不知道有關樹的基本概念。這裡總結出來,熟練背誦即可。

先說節點:

對於節點來說,有高度,深度,層數三個概念。

高度指的是從此節點開始到最下面葉子結點的長度,這個長度就是經歷的節點的個數。

深度指的是從根節點開始到此節點的長度,這個長度也是經歷的節點的個數。

對於節點來說,高度 != 深度。

但是,根節點的高度 == 最深的葉子結點的深度。

層數指的是該節點所處的位置,根節點為第1層,往下依次加1。

再說樹本身:

樹本身只有高度、深度兩個概念。

對於樹來說,高度 == 深度,高度和深度描述的是同乙個東西,指的就是書中節點的最大層數,可以理解為層數最高的葉子結點的層數。即,樹的高度 == 樹的深度 == 樹中最深的葉子結點的深度 == 樹中根節點的高度。

補充:節點的度指的是此節點的子樹的個數。

樹的高度和深度

用到樹的資料結構時,經常會考慮樹的高度和深度,但是lz總是搞混了,總雖然比較簡單,就是個定義,記住就行了,但是因為長時間總是弄錯,所以寫一篇博文,加深一下印象 1 樹的深度 樹的深度可以這樣理解,計算乙個節點的深度,從根節點算起 記住從1開始計數,而不是0,程式設計師的通病在這不好使 到該節點所經過...

樹的高度和深度

樹的高度和深度 深度定義是從上往下的,高度定義是從下往上的。其實不用在意這個,反正樹的深度高度怎麼數都一樣的 深度和高度涉及到結點的層數,有的教材規定根結點在第0層,有的則規定根結點在第1層。原理都是一樣的,因教材而異。樹從根結點開始往下數,葉子結點所在的最大層數稱為 樹的深度。有的教材對於樹的高度...

關於樹的深度和高度的計算

關於樹的深度和高度的計算,我看到兩個不同的說法,它們的區別就在於到底是從0開始計算還是從1開始計算。網上的和演算法題偏向說法二,如果有能找到更加權威的解答望不吝賜教 說法一 資料結構與演算法分析 c語言描述 第2版中的第4.1節中 說法二 來自 樹的高度和深度的區別 k節點在樹的底層,是乙個葉子節點...