6

有哪些好的数据结构可以在二维空间模拟中跟踪代理?

我看过一些对四叉树(我理解)和 kd-trees(我不太理解)的引用。

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

示例(伪代码很好)将不胜感激。

我在 Java 中工作。

4

2 回答 2

2

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

对你来说最好的事情可能是看看这里的源代码: http ://code.google.com/p/mason/source/browse/trunk/mason/sim/field/continuous/Continuous2D.java?r =529

于 2011-10-18T18:34:11.010 回答
2

我发现了一个叫做Bucket PR Quadtree的东西。

于 2011-10-24T18:30:00.143 回答