什么是搜索二维数据数组并在同类数据周围创建边界的好算法?数据将是随机的,因此除了包含数值之外,不会有任何可用数据的先验知识。
否则有没有关于这个主题的好文章/书籍?
编辑
这是我要实现的目标的示例:
两人也是一样
什么是搜索二维数据数组并在同类数据周围创建边界的好算法?数据将是随机的,因此除了包含数值之外,不会有任何可用数据的先验知识。
否则有没有关于这个主题的好文章/书籍?
编辑
这是我要实现的目标的示例:
两人也是一样
广度优先搜索可以帮助你。首先构造图G,如下所示:
图G的边(u,v)是且仅当第 u 个单元格的值=第 v 个单元格的值。
然后执行 BFS 会给出很好的图表片段,您可以使用单元格的值方便地将其标记为已访问。
这是一个复杂的问题,我认为它相当于找到一组点的凹壳。
您首先必须为数据点定义一个相等运算,以便您可以确定“相同排序”数据点的集合。
以这种方式确定了一组点之后,您需要找到该组点的凹壳。
(我假设你想要凹壳而不是凸壳)。
找到凹壳是一项不平凡的任务。
有关详细信息,请参见此处:https ://gis.stackexchange.com/questions/1200/concave-hull-definition-algorithms-and-practical-solutions
如果它实际上是您想要的凸包,请参阅此处以 C# 中的实现:
一个简单的解决方案(适用于小型数据集)是定义一个比较运算符,它接受两个参数,如果它们相等则返回 true,否则返回 false,然后简单地比较所有相邻值对(水平和垂直)并绘制如果比较返回 false,则为边框。