【发布时间】:2011-06-15 09:57:52
【问题描述】:
我正在寻找一种良好的函数式数据结构来存储空间(点)数据。数据结构应该允许对已经存在的点进行简单的 epsilon 查询。我还需要经常修改数据。这意味着点可以移动并且应该能够在数据结构中更新。这可能可以使用普通的删除/添加来处理,但真正的移动可能会更快。
现在我正在考虑使用quad/oct-trees(或更高版本),因为移动部分应该很容易做到。然而,就平衡而言,已知四叉树更差。 KD-Trees 可能是另一种选择,但更新似乎很讨厌。此外,我能找到的大多数空间数据结构实现都只是程序性的,而且我使用的是函数式语言。
【问题讨论】:
-
澄清一下:epsilon 查询是否是一个查询,以查找在给定点指定距离内的点?
标签: data-structures ocaml functional-programming