1. 程式人生 > >樹的高度和深度的區別

樹的高度和深度的區別

對於樹的基本概念上理解,對於才接觸資料結構的人來說,樹的高度和深度是一個容易混淆的知識點,現解釋如下:

1.高度

對於高度的理解,我們不管他資料結構什麼什麼知識,就拿樓房來說,假如一個人提問:樓房的高度有好高?我們會下意識的從底層開始往上數,假如樓有6層,則我們會說,這個樓有6層樓那麼高,則提問者就會大概知道樓有多高了。所以高度就是以從下往上對比,這是我們的習慣。而在樹中,樹的高度也是從下往上數,如圖所示

K節點在樹的底層,是一個葉子節點,則一般定義為K的高度在最低為1,以此類推,O的高度也是為1,P的節點也是為1。M節點是葉子節點O的父節點,從下往上數,M節點高度為2。那麼G節點的高度是多少呢?從G-L的高度為2,從G-M-O節點高度為3,到底G節點高度為多少呢,正確答案是3,請看定義:

高度的定義為:從結點x向下到某個葉結點最長簡單路徑邊的條數

注意:對於是否是邊的條數這個不清楚,待我後來查證,這個主要是由於其初值是1還是0來確定的,一般都是以1開始

2.深度

理解了高度,則深度的理解就很容易了,深度是從根節點往下,列如上圖中:B的深度為2。

3.總結

 

對於整棵樹來說,最深的葉結點的深度就是樹的深度;樹根的高度就是樹的高度。這樣樹的高度和深度是相等的。

 對於樹中相同深度的每個結點來說,它們的高度不一定相同,這取決於每個結點下面的葉結點的深度。