二维矩阵的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)  # 右
    
相关推荐
源代码•宸3 天前
Leetcode—94. 二叉树的中序遍历【简单】
经验分享·后端·算法·leetcode·职场和发展·golang·dfs
源代码•宸3 天前
Leetcode—144. 二叉树的前序遍历【简单】
经验分享·算法·leetcode·面试·职场和发展·golang·dfs
不穿格子的程序员3 天前
从零开始写算法——图论篇2:课程表 + 实现前缀树(26叉树)
算法·深度优先·图论·dfs·bfs
少许极端3 天前
算法奇妙屋(二十六)-二叉树的深度搜索问题
算法·二叉树·dfs
老鼠只爱大米4 天前
LeetCode经典算法面试题 #104:二叉树的最大深度(深度优先搜索、广度优先搜索等多种实现方案详细解析)
算法·leetcode·二叉树·dfs·bfs·深度优先搜索·广度优先搜索
不穿格子的程序员5 天前
从零开始写算法——图论篇1:岛屿数量 + 腐烂的橘子
算法·深度优先·图论·dfs·bfs
源代码•宸8 天前
Leetcode—404. 左叶子之和【简单】
经验分享·后端·算法·leetcode·职场和发展·golang·dfs
源代码•宸8 天前
Leetcode—513. 找树左下角的值【中等】
经验分享·算法·leetcode·面试·职场和发展·golang·dfs
不穿格子的程序员10 天前
从零开始写算法——回溯篇4:分割回文串 + N皇后
算法·深度优先·dfs
π同学12 天前
基于RT-Thread的STM32开发第十二讲SD卡篇——DFS文件系统
stm32·dfs·rtthread·sdio