我将数据库表中保存的地址坐标(纬度,经度)收集为。
基于用户当前位置,例如用户位于(53,55),应该存在用于预测对应于用户当前位置的最近地址的有效算法(53,55),例如在这种情况下,最近地址是Address13。 找到每个点的距离并不是有效的解决方案,因为地址数据可能会增长到数百万。
答案 0 :(得分:1)
您最好的选择是在数据集上实施一些最小生成树算法,然后在添加数据时,将地址添加到MST。 O(ElogV)
然后,您将能够搜索每个节点邻接列表以查找最近的节点,而不是搜索整个表。 O(E)
或者编写一个搜索图表的贪婪算法。给它指出一个点和一个半径,然后它就不会看到远离半径的点。