作文以记之 ~ 广度优先搜索BFS 和 深度优先搜索DFS 简单总结

作文以记之 ~ 广度优先搜索BFS 和 深度优先搜索DFS 简单总结

0、简单总结

广度优先搜索算法(BFS),是一种 利用队列 实现的搜索算法。
深度优先搜索算法(DFS),是一种 利用递归 实现的搜索算法。

BFS常与DFS进行比较分析, BFS 的重点在于队列,而 DFS 的重点在于递归。这是它们的本质区别。
有个小点是,能用dfs解决的题,一般就不能用bfs解决;能用bfs解决的题,一般就不能用dfs。(相关内容可点击 dfs bfs算法区别 此博客进行查看!)

两种算法的具体说明可点击 图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS) 此文章进行查看!

经过几道题的练习,简单来说,BFS算法的实现,至少需要两个存储数据的容器,比如队列和哈希表,队列保存当前条件下满足要求的数据,在这些数据中再去寻找更合适的数据;哈希表则保存所有已出现过的数据,防止后续操作误判。

DFS算法的实现,力扣上给了两种模板,第一种就是利用递归,其本质是利用了隐式栈;第二个模板与BFS有点相近,只不过是将隐式栈转换为了显式栈,或者说就是将递归展开,有点趋近于迭代。

1、BFS题目博客列表

1) 作文以记之 ~ 岛屿数量
2) 作文以记之 ~ 单词接龙
3) 作文以记之 ~ 打开转盘锁
4) 作文以记之 ~ 完全平方数
5) 作文以记之 ~ 二叉树的层序遍历
6) 作文以记之 ~ 二叉树的最大深度
7) 作文以记之 ~ 对称二叉树
8) 作文以记之 ~ 路径总和
9) 作文以记之 ~ 图像渲染
10)作文以记之 ~ 01 矩阵
11)作文以记之 ~ 钥匙和房间

后续继续补充!

2、DFS题目博客列表

1) 作文以记之 ~ 岛屿数量
2) 作文以记之 ~ 克隆图
3) 作文以记之 ~ 目标和
4) 作文以记之 ~ 二叉树的前序遍历
5) 作文以记之 ~ 二叉树的中序遍历
6) 作文以记之 ~ 二叉树的后序遍历
7) 作文以记之 ~ 二叉树的最大深度
8) 作文以记之 ~ 对称二叉树
9) 作文以记之 ~ 路径总和
10) 作文以记之 ~ 图像渲染
11) 作文以记之 ~ 钥匙和房间
12) 作文以记之 ~ 验证二叉搜索树
后续继续补充!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值