gpt4 book ai didi

algorithm - 基于距离的大小为 2 的组

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:59:20 24 4
gpt4 key购买 nike

我有一个包含数千个长度为 N 的点的列表,每个点都有纬度和经度。

我想将这些点分为 N/2 组,每组包含 2 个点(如果 N 是奇数,则一个将有 3 个)。

这个分组的目的是最小化两点之间的距离。我们可以将每组的误差视为平方点之间的距离。以及所有组的总误差总和。

鉴于算法应该相对较快的限制(这将部署在 API 上并运行以响应用户请求),实现此目标的最佳算法是什么?

分组不一定需要尽可能“最好”,但最好是确定性的。

最佳答案

计算中心。

按距中心的距离对点进行排序。

按降序,选择下一个未匹配点并将其与最近的未匹配邻居配对。您可以使用三角不等式来保持候选者较小。

对于索引,这种贪婪方法是 O(n log n) 否则 O(n^2)。这可能不是最好的结果,但对于这段运行时间来说应该相当不错了。预排序避免了真正糟糕的情况(只要中心不是太不平衡)。

关于algorithm - 基于距离的大小为 2 的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39337814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com