2012-11-05 58 views
4

我想了解更多編程競賽的數據結構。我已經看過/實現了一個分段樹,但topcoder /其他論壇上的很多解決方案都引用了「範圍樹」。這些解決方案沒有深入討論他們在做什麼,或者「範圍樹」如何工作(特別是二維)。我發現的唯一相對有用的鏈接是(http://www.cise.ufl.edu/class/cot5520fa09/CG_RangeTrees.pdf),但它看起來非常廣泛。更詳細的範圍樹的解釋,也許用C++實現?

許多示例代碼都很簡潔,因爲它是在比賽環境中編碼的,同樣由於模板等因素,庫代碼很難閱讀?

任何人都可以給出一個簡單的二維範圍樹的解釋嗎? (例如,如何存儲/表示它,功能等)。

從我讀我明白,它幾乎可以存儲有關範圍內的任何聚集的特點,像段樹(?)

感謝

+0

有序樹?我認爲維基百科實際上是一個開始的好地方。 http://en.wikipedia.org/wiki/Range_tree他們有這麼好的照片。他們甚至擁有全面的[遍歷/搜索算法]列表(http://en.wikipedia.org/wiki/Tree_traversal)。代碼,動畫GIF等 – ficuscr

+0

在'KD樹'上搜索產生更好的結果,甚至是同樣的事情?我有些困惑。 – ficuscr

+0

感謝您的回覆。 @ficuscr我也有同樣的問題,範圍樹似乎不明確,人們似乎隨意將它稱爲段樹和其他名稱。 – dave

回答