58
A
回答
47
32
兩者之間的主要區別不被提及加雷里斯是Kd樹只在批量加載情況下才有效。一旦構建,修改或重新平衡Kd樹是非平凡的。 R樹不會因此受到影響。
79
它們實際上完全不同。它們的用途相似(對空間數據的區域查詢),它們都是樹木,但這是關於它們所有的共同點。
- R-樹木是均衡,KD-樹不是(除非批量加載)。這就是爲什麼R樹可以用來改變數據的原因,因爲kd樹可能需要重建以重新優化。
- R-Trees是面向磁盤。他們實際上將數據組織在直接映射到磁盤表示的區域中。這使它們在真實數據庫和內存不足操作中更有用。 kd-trees是面向內存的並且是不平凡的放入磁盤頁面
- R樹不覆蓋整個數據空間。空的區域可能被揭露。 kd-trees總是覆蓋整個空間。
- kd-trees 二進制拆分數據空間,r-trees將數據分區爲矩形。二元分裂顯然是不相交的;雖然r-tree的矩形可能會重疊(實際上有時很好,儘管試圖使重疊最小化)
- kd-trees在內存中實現起來要容易得多,這實際上是它們的關鍵優點
- R-樹可以存儲矩形和多邊形,kd-trees只存儲點向量(因爲多邊形需要重疊)
- R樹帶有各種優化策略,不同的分割,批量加載器,插入和重新插入策略等。
相關問題
- 1. 誰能告訴我「dataviz」是什麼?
- 2. 有誰能告訴我爲什麼'和'=='和'是假的?
- 3. 誰能告訴我Twitter的Bootstap和Bootmetro的區別?
- 4. 有人可以告訴我List,Collection和Enumerable有什麼區別?
- 5. 誰能告訴我我的凱撒算法有什麼問題?
- 6. 誰能告訴我的貝寶按鈕之間的區別
- 7. 誰能告訴我的MethodImplOptions.ForwardRef
- 8. 誰能幫助,告訴我爲什麼我在功能
- 9. 誰能告訴我這個.INF文件有什麼問題?
- 10. 誰能告訴我這個RPGLE陣列有什麼問題?
- 11. 有誰能告訴我這裏發生了什麼事?
- 12. 誰能告訴我這個switch語句(javascript)有什麼問題?
- 13. TextGeometry不顯示,有誰能告訴我爲什麼?
- 14. 誰能告訴我這部分代碼有什麼問題
- 15. 誰能告訴我爲什麼這個功能不起作用
- 16. 誰能告訴我爲什麼我收到此錯誤
- 17. 誰能告訴我爲什麼我的代碼產生錯誤?
- 18. 誰能告訴我NSArray的賦值和拷貝之間的區別?
- 19. 。有人能告訴我爲什麼嗎?
- 20. 誰能告訴我這個「自我」
- 21. 誰能告訴我,是我的片斷
- 22. 誰能告訴我這個代碼是什麼錯誤
- 23. 誰能告訴我爲什麼這個jQuery驗證未提交
- 24. 誰能告訴我爲什麼這不顯示在IE中?
- 25. SEAM異常,誰能告訴我爲什麼發生?
- 26. 誰能告訴我這是什麼編碼?
- 27. 誰能告訴我這是什麼意思
- 28. ios5,TSAlertView不會彈出,誰能告訴我爲什麼?
- 29. 誰能告訴我這是什麼類型的語言?
- 30. 誰能告訴我爲什麼這是輸入一個新行
謝謝!這是一個非常好的和完整的描述。 – 2012-06-20 17:20:33