问题
想象一下,我站在机场.给定地理坐标对,如何有效地确定我所在的机场?
输入
>一个坐标对(x,y),代表我所站的位置.
>一组坐标对[(a1,b1),(a2,b2)…],其中每个坐标对代表一个机场.
期望的输出
来自机场坐标对的坐标对(a,b)表示距离点(x,y)最近的机场.
低效的解决方案
这是我解决这个问题的低效尝试.它在机场组的长度上显然是线性的.
shortest_distance = None
shortest_distance_coordinates = None
point = (50.776435, -0.146834)
for airport in airports:
distance = compute_distance(point, airport)
if distance < shortest_distance or shortest_distance is None:
shortest_distance = distance
shortest_distance_coordinates = airport
问题
如何改进这个解决方案?这可能涉及根据我们当前所处位置的坐标预先过滤机场列表的某种方式,或者事先按特定顺序对它们进行排序.