【发布时间】:2017-02-10 03:18:21
【问题描述】:
有很多算法可以通过多种方式找到k 最近的邻居。我最终将不得不应用这些,但是在我的情况下,我可以编写我的程序以逐个添加点,而不是完全添加所有点,然后运行算法。这是否使问题更容易,所以也许我可以使用一棵树,并将每个节点添加到 neighborhood 树 或其他东西。这似乎比线性搜索所有点要快。
在我的程序中,点会不断移动,所以我需要更新邻居,这就是为什么我认为最好使用树或其他构造来更新记录,而不是在每次移动时计算最近的邻居点。你知道这样的数据结构吗?
【问题讨论】:
-
“点将不断移动” - 那么它什么时候是邻居,什么时候靠近?这听起来与您的“这使问题更容易”相矛盾。但除此之外,请考虑使用 Max Heap。