KD树和R树有什么区别?
我看了KD树和R树的定义。在我看来,它们几乎是一样的。
KD树和R树有什么区别?
I looked at the definition of KD-tree and R-tree. It seems to me that they are almost the same.
What's the difference between a KD-tree and an R-tree?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
它们实际上是完全不同的。它们具有相似的目的(空间数据的区域查询),并且它们都是树(并且都属于包围体层次索引家族),但这就是它们的所有共同点。
They are actually quite different. They serve similar purpose (region queries on spatial data), and they both are trees (and both belong to the family of bounding volume hierarchy indexes), but that is about all they have in common.
R-tree 和 kd-trees 基于类似的想法(基于轴对齐区域的空间划分),但主要区别是:
(有很多类似的用于划分空间的树结构:四叉树、BSP 树、R* 树等)
R-trees and kd-trees are based on similar ideas (space partitioning based on axis-aligned regions), but the key differences are:
(There are lots of similar kinds of tree structures for partitioning space: quadtrees, BSP-trees, R*-trees, etc. etc.)
此答案中未提及的两者之间的主要区别是 KD 树仅在批量加载情况下有效。一旦构建完成,修改或重新平衡 KD 树就并非易事。 R 树不会受此影响。
A major difference between the two not mentioned in this answer is that KD-trees are only efficient in bulk-loading situations. Once built, modifying or rebalancing a KD-tree is non-trivial. R-trees do not suffer from this.