【发布时间】:2018-03-23 06:45:03
【问题描述】:
我有散布在平面上的非空集合点,它们由它们的坐标给出。 问题是快速回复此类查询:
给我你的集合中离点 A(x, y) 最近的点
我目前的解决方案伪代码
query( given_point )
{
nearest_point = any point from Set
for each point in Set
if dist(point, query_point) < dist(nearest_point, given_point)
nearest_point = point
return nearest_point
}
但是这个算法很慢,复杂度是O(N)。
问题是,是否有任何具有预先计算的数据结构或棘手的算法可以显着降低时间复杂度?我至少需要O(log N)
更新
距离是指欧式距离
【问题讨论】:
标签: algorithm computational-geometry