二维矩阵的DFS算法框架

二维矩阵的DFS算法框架

关于岛屿的相似题目:

  1. 岛屿数量 -- 二维矩阵的dfs算法
  2. 封闭岛屿数量 -- 二维矩阵的dfs算法
  3. 统计封闭岛屿的数目
  4. 统计子岛屿
  5. 不同岛屿的数量
python 复制代码
# 二叉树遍历框架
def traverse(root):
    if not root:
        return 
    # 前序遍历
    traverse(root.left)
    # 中序遍历
    traverse(root.right)
    # 后序遍历


# 二维矩阵的DFS算法框架
def dfs_matrix(grid, i, j, visited):
    m, n = len(grid), len(grid[0])

    # 跳出递归条件
    if i < 0 or i >= m or j < 0 or j >= n:
        return

    if visited[i][j]:
        return

    visited[i][j] = True

    dfs_matrix(grid, i-1, j, visited)  # 上
    dfs_matrix(grid, i+1, j, visited)  # 下
    dfs_matrix(grid, i, j-1, visited)  # 左
    dfs_matrix(grid, i, j+1, visited)  # 右
    
相关推荐
浅念-5 天前
LeetCode 回溯算法题——综合练习
数据结构·c++·算法·leetcode·职场和发展·深度优先·dfs
浅念-11 天前
LeetCode回溯算法从入门到精通完整解析
开发语言·数据结构·c++·算法·leetcode·dfs·深度优先遍历
YL2004042613 天前
048路径总和III
数据结构·dfs
进击的荆棘13 天前
递归、搜索与回溯——综合(下)
c++·算法·leetcode·深度优先·dfs
tiandyoin14 天前
IPCONFIG重置网络
网络·ip·dfs·dns·vpn·cmd
hnjzsyjyj18 天前
洛谷 P1305:新二叉树 ← DFS + 字符索引数组 + map
dfs·stl map·字符索引数组
hnjzsyjyj18 天前
洛谷 P1305:新二叉树 ← DFS
数据结构·dfs
进击的荆棘20 天前
递归、搜索与回溯——综合(上)
c++·算法·leetcode·深度优先·dfs
多喝开水少熬夜24 天前
dfs思路回溯
算法·深度优先·dfs
hnjzsyjyj1 个月前
洛谷B3862:图的遍历(简单版)← 邻接表
dfs·邻接表