洪泛法找到二维数组中的连通块
有时候二维数组中有几块是连通的,我们想要找出来这些连通块并存下来,这时就可以使用洪泛法
(假设nxn的二维数组g,元素可以为0或者1,目的是找到1的所有连通块)
主要思想:
两层循环遍历g,判断当前元素是1的时候,进入dfs函数(dfs函数应传入用来存储的数组,并且当退出第一层dfs循环的时候,数组+1,也就是开始存储下一个连通块),
- dfs函数首先将当前元素赋值为0(防止重复搜索,因为后面会判断元素的上下左右)
- 将当前元素的坐标push入存储的数组
- 判断当前元素的上下左右是否越界或者有1,有1则进入dfs函数将1放进…
最后存储的数组里面就会有所有连通块了