基于空间代理的建模的数据结构

在二维空间模拟中跟踪代理的一些好的数据结构是什么?

我已经看到一些对四叉树(我理解)和kd树(我不太了解)的引用。

我正在寻找一个代理人可以有效地说出的话,“我知道我的位置,而且我想知道哪些代理人在我附近(在我自己的某个半径范围内)。”

非常感谢示例(伪代码很好)。

我在Java工作。

好吧,我不确定它是如何实现的,但MASON工具包使用离散化算法,将代理彼此接近放置在哈希表的同一“桶”中。 它可以实现非常快速的查找,因为每个查询只需要检查一些这些存储桶。

最好的办法是查看源代码: http : //code.google.com/p/mason/source/browse/trunk/mason/sim/field/continuous/Continuous2D.java?r = 529

我找到了一个名为Bucket PR Quadtree的东西。