algorithm - 可以在优于 O(n) 的时间内通过纬度/经度计算最近的位置吗?

标签 algorithm geolocation gps spatial-query

我想知道是否有一种算法可以在优于 O(n) 的时间内计算最近的位置(由纬度/经度表示)。

我知道我可以使用 Haversine 公式来获取从引用点到每个位置的距离并按 ASC 排序,但这对于大型数据集来说效率很低。

MySQL DISTANCE() 函数如何执行?我猜 O(n)?

最佳答案

如果您使用 kd-tree要存储您的点,您可以在 O(log n) 时间(预期)或 O(sqrt(n)) 最坏情况下执行此操作。

关于algorithm - 可以在优于 O(n) 的时间内通过纬度/经度计算最近的位置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1197863/

相关文章:

android - 计算在缓慢移动的交通中在Android中行驶的距离

javascript - 使用 Google Geolocation API 通过 MAC 地址对 802.11 接入点进行地理定位

JavaScript 执行超时

android - 如何使用 Target API 23 及更高版本通过 GPS 获取用户位置

java - 如何解码 Teltonika FM1000 设备。此设备的解码器格式是什么

c++ - MIPS速溶

python - 用于圆检测的最小二乘法

Android多线程应用程序-共享状态

c++ - 平衡二叉树编码

ruby - 将哈希合并为稀疏矩阵的高效算法