2017-02-26 87 views
1

在發現樹的直徑,我們考慮的最大如下:當計算樹的直徑爲什麼單獨計算高度是不夠的

1:左子樹的直徑

2:直徑右子樹

3:左子樹+右子樹的高度的高度+ 1

爲什麼這三個是必要的?爲什麼只有3個人是不夠的。讓我們看一個簡單的例如3節點樹和2節點樹。在前3點單獨給予1 + 1 + 1 = 3 而在後一種情況下3點獨自給出0 + 1 + 1 = 2

在這種情況下,爲什麼我們需要找到三個最大。 PLZ解釋

+0

你是什麼意思由「*直徑*」? – melpomene

+0

樹的直徑(有時稱爲寬度)是樹中兩棵樹葉之間最長路徑上的節點數量http://www.geeksforgeeks.org/diameter-of-a-binary-tree/ –

回答

2

考慮下面的樹:

  [A] 
     /
     [B] 
    / \ 
    [C]  [D] 
/  \ 
[E]   [F] 

A左子樹的高度爲3;的A右子樹的高度爲0。因此條件3爲我們提供了3 + 0 + 1 = 4。

但是樹的直徑爲5:EF和是EC之間的路徑上的節點,BD,F

由於the page you linked to解釋,條件3只適用於通過樹根的路徑。如果兩輪葉之間的最長路徑不通過根,它屬於條件1或2下的頁面上的第一個圖,甚至給出了一個例子:

tree diagram

右樹的直徑爲9 ,但條件3只給出5 + 2 + 1 = 8。