在二维空间模拟中跟踪代理的一些好的数据结构是什么?
我看到了一些关于四叉树(我理解)和kd树(我不太理解)的参考资料。
我正在寻找一个代理可以有效地说,"我知道我的位置,我想知道哪些代理在我附近(在我自己的一定半径内)。"
示例(伪代码很好)将不胜感激。
我在Java工作
嗯,我不确定它是如何实现的,但是MASON工具包使用了一种离散化算法,该算法将彼此接近的代理放在哈希表的同一"桶"中。它使得查找非常快,因为每个查询只需要检查这些桶中的几个。
对你来说最好的办法可能是看一下源代码:http://code.google.com/p/mason/source/browse/trunk/mason/sim/field/continuous/Continuous2D.java?r=529
我发现了一种叫做桶式PR四叉树的东西。