在我的C#-Silverlight 3程序中,我有一组积分。这些点可以是不同的颜色,绿色,红色或蓝色。然后我为不同的点创建一个凸包:一个绿色的船体,一个红色的船体和一个蓝色的船体。现在可能发生,每种颜色的船体内都是来自另一种颜色的点,如绿色船体内的红点。
是否有任何算法来修改船体,以便那些其他颜色的点将被排除在船体之外(此时不再是凸起的)?
提前致谢, 弗兰克
答案 0 :(得分:0)
转换为经典旅行商问题。
使用生成此外壳的点并添加您希望它们排除的其他点。 现在找到这一点上的最佳路径,你就拥有了这个新的船体
修改强>
我们需要在点上找到一条非交叉路径。
复杂性现在是N * log(N)