我试图做以下事情
给出以下矩阵(其中1是空单元,0是障碍):
0 0 1 1
1 0 0 0
1 0 1 1
1 1 0 0
我希望它变成这样:
0 0 1 1
2 0 0 0
2 0 2 2
2 2 0 0
我需要做的是标记所有连接的组件(空闲空间)。
我已经尝试做的是编写一个名为isConnected()的函数,该函数获取两个单元格的索引并检查它们之间是否存在连接路径。通过在矩阵上的每个空单元格上重复此函数n ^ 2次,我可以标记所有连接的空格。但是由于这个算法的时间复杂度很差(n ^ 2 * n ^ 2 * O(isConnected()))我更喜欢使用别的东西。
我希望这些图片能更好地解释我想要完成的事情: