什么将是一个很好的算法来搜索数据的二维数组和围绕同一类数据创建边界?数据将是随机的,因此除了它将包含数值之外,不会有任何关于可用数据的事先知识。二维模式搜索
否则有没有关于这个问题的好文章/书籍?
编辑
这里是我想要达到一个例子:
与同为两个的
什么将是一个很好的算法来搜索数据的二维数组和围绕同一类数据创建边界?数据将是随机的,因此除了它将包含数值之外,不会有任何关于可用数据的事先知识。二维模式搜索
否则有没有关于这个问题的好文章/书籍?
编辑
这里是我想要达到一个例子:
与同为两个的
广度优先搜索可以帮助你here.First构造图ģ如下:
格拉夫ģ具有边缘(U,V)是且仅当第u细胞的值=第v个单元的值。
然后执行BFS给出您可以方便地标记为使用单元格的值访问的图形的很好的部分。
这是一个复杂的问题,我认为相当于找到一组点的凹包。
您首先必须为数据点定义相等操作,以便您可以确定“相同排序”数据点的集合。
以这种方式确定了一组点后,您需要找到该组点的凹壳。
(我假设你想要凹型船体而不是convex hull)。
寻找凹形凹陷是一项不平凡的任务。
如果它实际上是你想要的凸包,在这里看到的C#实现:
也许您正在寻找围绕您的数据绘制凸包?那里有很多算法(见维基百科)。 – Yellow
听起来像是你想要的linq.groupby – Sayse
你能否提供一个小的2d数组示例?否则,有很多适合的算法。 – Regenschein