我想知道在这里应该使用哪种算法。使用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。