16
我想使用隱式指針來實現使用van Emde Boas佈局存儲在數組中的緩存遺忘二叉樹。樹中的所有項目都是32位整數,樹會變得相當大,因此存儲指針意味着至少增加3倍的數據量。如何使用van Emde Boas佈局來計算二叉樹中的指針
問題是,我想不出任何非迭代方式來計算指向左側和右側兒童的指針,給定一個節點索引(我可以在遍歷樹時跟蹤任何信息)。許多論文/講座都提到了帶有隱式指針的樹,但我沒有看到用於計算指針的算法。有沒有一種有效的方法來做到這一點?
你需要從索引中計算出它嗎?在我看來,你只需要從當前節點計算一個特定的子節點。如果您願意瞭解當前級別,請在當前節點的路徑上保留一堆偏移量,並在不同級別上放置所有偏移量的數組,您應該可以執行此操作。我不知道跟蹤這些堆棧會追加多少開銷,這可能不值得。 – btilly 2011-02-05 17:46:43