2013-03-06 50 views
1

我正在寫一個二叉搜索樹,我想包括一個父指針。我現在的方式是父引用是一個節點。所以例如我的getParent()返回一個節點而不是一個值。二叉搜索樹父指針

我的問題是,如果這是正確的方式這樣做,或者如果父引用應該只是爲了父的值,以便getParent()會返回一個值而不是一個節點?

+1

它應該是節點,它應該是樹上的內部使用。 – 2013-03-06 05:23:06

+0

是的,它應該是肯定的節點。如果它是有價值的,那麼在按價值獲得父級時,您必須搜索適當的節點。那是..假設你將永遠需要反過來遍歷樹。 – 2013-03-06 05:24:50

回答

1

我會建議返回節點本身。如果你繼續存儲這些值本身,那麼數據大小就會變得非常大,理論上實際上幾乎是雙倍,因爲每個節點將包含兩組值,而不是一組值。

0

這取決於您的要求,但它看起來像你正在做的那樣,保持它作爲與Nodevalue的節點。 這種方式如果需要的話,你可以增強你的程序來說如果需要包含方向。 這樣比較靈活。