二维矩阵的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)  # 右
    
相关推荐
源代码•宸2 天前
Leetcode—1123. 最深叶节点的最近公共祖先【中等】
经验分享·算法·leetcode·职场和发展·golang·dfs
源代码•宸2 天前
Leetcode—865. 具有所有最深节点的最小子树【中等】
开发语言·经验分享·后端·算法·leetcode·golang·dfs
Tisfy2 天前
LeetCode 0865.具有所有最深节点的最小子树:深度优先搜索(一次DFS + Python5行)
算法·leetcode·深度优先·dfs·题解
源代码•宸4 天前
Leetcode—1339. 分裂二叉树的最大乘积【中等】
开发语言·后端·算法·leetcode·golang·dfs
汉克老师6 天前
GESP2025年12月认证C++七级真题与解析(单选题8-15)
c++·dfs·bfs·二分·强联通分量·gesp7级·gesp七级
l1t16 天前
postgresql递归查询指定搜索顺序的方法
数据库·postgresql·dfs·递归·cte
l1t16 天前
sqlite递归查询指定搜索顺序的方法
数据库·sql·sqlite·dfs·递归·cte
xu_yule21 天前
算法基础-图论基础
数据结构·c++·算法·图论·dfs·bfs·最小生成树
_OP_CHEN1 个月前
【算法基础篇】(三十四)图论基础深度解析:从概念到代码,玩转图的存储与遍历
算法·蓝桥杯·图论·dfs·bfs·算法竞赛·acm/icpc
长安er1 个月前
LeetCode 100/101/110/199 对称/平衡二叉树与右视图
算法·leetcode·二叉树·dfs·bfs·递归