首页 > 其他分享 >从 695. 岛屿的最大面积 入手深度优先搜素DFS

从 695. 岛屿的最大面积 入手深度优先搜素DFS

时间:2022-12-10 21:56:14浏览次数:41  
标签:优先 函数 递归 695 DFS 搜索 搜素 深度

一、什么是深度优先遍历(DFS)

以“深度”为第一关键词,每次都沿路径到不能再前进时,才退回到最近的岔路口,然后继续按同样的逻辑搜索。

 

二、题目与解答

题目: 
Leetcode 695. 岛屿的最大面积

解答思路:

首先要遍历数组,当发现(i,j)对应为陆地时,进行如下步骤:

 

 

 

(1)递归解法

递归解法最重要的是首先要确定递归边界。

该题有两个递归边界:

一个是矩阵尺寸限制,

 

 

 一个是碰到了水域

 

 

 

 

一般来说,深度优先搜索类型的题可以分为主函数和辅函数,

主函数用于遍历所有的搜索位置,判断是否可以开始搜索,如果可以即在辅函数进行搜索。

辅函数则负责深度优先搜索的递归调用

本题中主函数为:

辅函数为:int IsIlandDFS(vector<vector<int>>& grid, int i, int j);   其中i, j 代表当前坐标。

 

 

 

 

 

 

 

 

参考视频:

https://leetcode.cn/problems/max-area-of-island/solution/dao-yu-de-zui-da-mian-ji-by-leetcode-solution/

标签:优先,函数,递归,695,DFS,搜索,搜素,深度
From: https://www.cnblogs.com/spacerunnerZ/p/16972417.html

相关文章