岛屿数量 (Number of Islands)

基于深度优先搜索 (DFS) 的可视化演示

快 <-> 慢
当前岛屿计数
0
未发现的陆地 ('1')
已处理/沉没 ('0')
水域 ('0')
DFS 递归搜索中
准备就绪,请点击“开始计算”...

算法原理 (DFS)

程序包含两个循环遍历整个网格。当遇到一块“陆地(1)”时,计数器加1,并立即启动 DFS(深度优先搜索)。DFS 会像病毒扩散一样,将当前格子以及所有相连的陆地全部标记为“已访问(0)”(或者叫沉岛)。这样,当主循环继续扫描到这些格子时,就会跳过它们,从而保证每座岛只被计算一次。