我有点N
。我知道他们的所有成对距离。我需要从中选择K
点,以使平均成对距离最大。我只有一个愚蠢的想法来遍历每个点。
您是否有更聪明的想法如何获得这样的子集?
一般地解决这个问题会很好,没有任何假设,但如果有帮助的话:N
大约是 10^3-10^4,K
大约 10^2。
我的虚拟想法: 我从点#1开始搜索最远的点,所以我有一大块2点,接下来我搜索第三个点,它与这两个点的平均距离最大,依此类推,直到我将收集 K 点。应将所有 N 个点作为起始值重复此过程。最后我会得到 N 个 K 点的数组。我可以从中选择一个平均距离最大的。