【发布时间】:2012-06-28 21:16:02
【问题描述】:
我想知道我应该在这里应用哪种算法。 DFS 会这样做吗?
给定一个二维矩阵。求该矩阵中连接集的总数。
连接集可以定义为一组单元格,上面提到了 1 个单元格,并且在该集合中至少有一个其他单元格与之共享邻居关系。一个包含 1 的单元格并且没有包含 1 的周围邻居可以被认为是一个包含一个单元格的集合。邻居可以定义为在 8 个可能方向(即 N、W、E、S、NE、NW、SE、SW 方向)上与给定单元相邻的所有单元。一个细胞不是它自己的邻居。
例如:
1 0 0 1
0 0 1 0
0 0 1 0
1 0 0 1
连接集数为 3
0 0 1 0 0 1 0 0
1 0 0 0 0 0 0 1
0 0 1 0 0 1 0 1
0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0
0 0 1 1 0 1 1 0
1 0 1 1 0 1 1 0
0 0 0 0 0 0 0 0
连接集数为 9。
【问题讨论】:
标签: algorithm graph graph-theory