LiK*_*Kao 11 ocaml functional-programming data-structures
我正在寻找一个良好的功能数据结构来存储空间(点)数据.数据结构应允许对已存在的点进行简单的epsilon查询.我还需要经常修改数据.这意味着点可以移动,并且应该能够在数据结构中更新.这可以使用普通的删除/添加来处理,但真正的移动可能会更快.
现在我正在考虑使用quad/oct-trees(或更高版本),因为移动部分应该很容易.然而,就平衡而言,已知四叉树更糟糕.KD-Trees可能是另一种选择,但更新似乎非常讨厌.我能找到的大多数空间数据结构实现只是程序性的,我使用的是函数式语言.