- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
给定二维平面上的点列表,如何在平面上放置 N 个点,使得从点列表到最近放置点的所有距离的总和尽可能小?环境是谨慎的,列表将包含 [(0,0) 范围内的唯一点; (~200:~100)]
算法的最坏情况性能最好是多项式(因此实时计算的小范围)。也欢迎任何近似值。
最佳答案
这声音真像什么K-Means clustering algorithm做。在您的例子中,点列表是输入,点数 N 是簇数。
遗憾的是,它所做的是 NP-hard。但是有很多研究正在进行,并且有很多方法可以尝试让它变得更好(只需向下滚动 wiki 页面,您就会找到一些)。
此外,我怀疑是否会有更好的算法,因为 k-means 确实被学术界大量使用。我想如果有更好的算法,他们会为那个算法运行:)
再一次,我向您介绍最适合我的数据挖掘教程:Andrew Moore's slides .虽然我不知道你的目的,但这应该非常接近你的需要。
关于algorithm - 放置 N 点以最小化到点列表的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6877632/
我正在制作一个应用程序来计算距离和面积,现在问题是我制作了一个数组并在其中附加了我的节点。 func calculate () { let start = dotNodes[0] le
在我的 Eclipse 上,双分隔符使用逗号而不是点,我想将其更改为逗号,但我不知道如何更改。代码本身如下: double latitudeBerlin = 52.51217; double long
我想知道,如果: string name_a; string name_b; 将有一些已经存在的函数可以让我比较两个字符串的一定数量的字符like strncmp() ,但来 self 的 strin
我在 X 轴上有点,我想从每个点到另一个点 (X2,Y2) 做直线。 此代码适用于从 Y=35 到 X 点 (P) 的蓝线,并且它有效 pos_fixed = np.array([0, TR]) li
我必须返回以度为单位的角度,它应该在 0 到 360(含)之间的范围内。我必须使用 math.h 库中的函数 acos()、asin() 和 atan()。在我的说明中,它说根据该点所在的象限,计算可
请考虑以下说明我的问题的简化示例: 主窗口.xaml 主窗口.xaml.cs using System; using System.Windows; using System.Windo
我是一名优秀的程序员,十分优秀!