2011-07-19 93 views
3

enter image description here混淆線索二叉樹

大家好,

按以下

給出使所有的右子指針,通常會是一個二叉樹螺紋螺紋二叉樹的定義null指向節點的中間繼承者,並且所有通常爲null的左側子指針指向節點的中間前驅者。

但是在上圖中右子指針指向inorder前輩和左子指針指向inorder後繼者,這使我迷惑。

回答

1

看看C,什麼是它的前身?接班人?訂單是

B then C then D 

所以B是C的前身,D是C的繼任者。

C的左指針指向哪裏? B,這是前任,對我來說似乎很好。

同樣,正如所料,C的右指針指向D.

好像陳述,圖表和邏輯都同意。問題在哪裏?

+0

的前身,謝謝@Djna明白你的觀點,它相當簡單。你所說的是C是節點,其左指針和右指針是NULL,左指針指向前驅,左指針指向後繼。 –

1

報價和圖形都是正確的,也許你有後繼的定義和前任?

1

不,它們指向正確的節點。

+0

是的,他們都指向正確的節點,但如何它確實支持二進制線程的樹,我能夠理解的定義? –

+0

我看不出問題所在。以G爲例,它的左子節點是F,它是節點的前驅節點。如果這仍然令人困惑,請檢查inorder的含義。 –

+0

多數民衆贊成在罰款,但如果你拿E作爲一個例子,它應該只指向F不D,但其指向D,如何? –

0

定義和圖形是相互一致的。但是,下面的語句是錯誤的:

但在上圖右子指針指向序 前任和左子指針指向序後繼

1

在一些書,當作者指的是「孩子」他們的意思是它出現在父節點的右孩子,(大概是因爲它是從節點自身的角度左視圖)。這同樣適用於周圍其他方式 - 它們是指離開

要小心,不要混淆!

在上圖中,定義是正確的:左邊的孩子被稱爲左邊的孩子。

右節點的情況下,類似