【发布时间】:2016-04-24 04:18:21
【问题描述】:
我有一个包含纬度和经度的数组。任务是为所有坐标找到最近的 5 个坐标,而不是每次都循环遍历所有坐标。
【问题讨论】:
-
二维数组?什么?也许您的意思是 R^2 中的一维点数组?
-
使用欧几里得距离作为比较器将所有元素插入Binary heap。抓取前 n 个元素。
-
看看en.m.wikipedia.org/wiki/Binary_search_tree BST 的效率很高
-
@Marko 无需排序即可找到前 5 个值,哈哈。如果我理解正确,这是一个缓慢的解决方案,因为您无法比 O(n) 时间更快地更新堆。
-
@Marko 我认为您的解决方案完全错误。
标签: algorithm