摘要: 题目描述 注意,需要求的是岛屿的数量,而不是岛屿的总面积, 这道题很考验对dfs思路的理解,而不是简单地套用模版。 可以用dfs和bfs两种方法做。 深度优先搜索版本 首先看代码: class Solution { private: int dir[4][2] = {0, 1, 1, 0, -1, 阅读全文
posted @ 2024-03-20 21:10 SaTsuki26681534 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 思路分析 先前已经做过一道深度优先搜索了,可以看出,DFS比较适合求两点之间的所有路径这样的问题,因为其路径都是逐条求出的,而BFS则可能一下子求出多条路径,适合用来求最短路径。 关于BFS的过程前面已经学习过很多次了,遍历到一个节点时要先保存其所有邻接节点再继续向下遍历,一般是使用一个队列来完成。 阅读全文
posted @ 2024-03-20 16:55 SaTsuki26681534 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 首先了解一下深度优先搜索和回溯法的区别 可以看出这两种方法在思路上可以说没什么区别,但是由于在具体实现方面的区别,有着不同的应用场景。 我的理解是,回溯法很多时候是应用在抽象的枚举过程中的,而dfs算法很多时候是用在图或者树这种实际的几何图形中的。 比较一下回溯的模版和dfs的模版: dfs思路分析 阅读全文
posted @ 2024-03-20 11:57 SaTsuki26681534 阅读(3) 评论(0) 推荐(0) 编辑