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

2021-07-24 17:55:56 字數 664 閱讀 8599

關於樹的深度和高度的計算,我看到兩個不同的說法,它們的區別就在於到底是從0開始計算還是從1開始計算。(網上的和演算法題偏向說法二,如果有能找到更加權威的解答望不吝賜教)

說法一:

《資料結構與演算法分析:c語言描述》 第2版中的第4.1節中:

說法二:

來自:樹的高度和深度的區別

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。

樹的高度和深度

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

樹的高度和深度

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

樹的高度 深度 層數

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