![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DFS、BFS
leetcode题型整理--DFS深度优先遍历、BFS广度优先遍历
m0_38142029
这个作者很懒,什么都没留下…
展开
-
[树 字符串] 297. 二叉树的序列化与反序列化(DFS、BFS)
[[树 字符串] 297. 二叉树的序列化与反序列化(DFS、BFS)297. 二叉树的序列化与反序列化思路1:BFS思路2:DFS知识点:数组转成队列(数组 -(Arrays.asList)-> 列表 -(构造器)->队列)297. 二叉树的序列化与反序列化题目链接:https://leetcode-cn.com/problems/serialize-and-deserialize-binary-tree/分类:树、字符串(二叉树序列化:树 → 字符串,二叉树反序列化:字符串 →原创 2020-10-15 00:23:44 · 218 阅读 · 0 评论 -
[DFS BFS 动态规划] 279. 完全平方数(回溯法DFS → 动态规划、BFS、数学定理+排除法)
[DFS BFS 动态规划] 279. 完全平方数(回溯法DFS → 动态规划、BFS、数学定理+排除法)279. 完全平方数思路1:回溯法DFS(暴力解)思路2:动态规划(推荐)思路3:BFS(推荐)思路4:数学(记下结论就行)279. 完全平方数题目链接:https://leetcode-cn.com/problems/perfect-squares/分类:回溯法:DFS思想,一趟DFS返回一个划分方案所需要的最少完全平方数个数(思路1);动态规划:辅助数组优化回溯法,dp[i] = 数字原创 2020-10-09 22:59:30 · 284 阅读 · 0 评论 -
[树 遍历的应用] 235.BST的最近公共祖先(利用BST特点做DFS) 236.二叉树的最近公共祖先( 路径栈法、后序遍历法,剑指offer 68 - II)
[剑指offer 68 - II] 二叉树的最近公共祖先(递归思路整理)1 题目分析2 思路1:后序遍历 + 递归思路整理1、确定递归函数的功能、返回值2、后序遍历过程分析3、算法实现1 题目分析剑指 Offer 68 - II. 二叉树的最近公共祖先 236. 二叉树的最近公共祖先这题和68-1相比,二叉搜索树换成了一般的二叉树,其他条件和要求不变。因此68-1的思路在这里不再适用,要在一般二叉树里找到指定的节点,最差情况下需要遍历所有节点才能找到,无法根据待查节点和root的大小关系自主原创 2020-10-03 23:10:55 · 116 阅读 · 0 评论 -
[二叉搜索树BST] 230. BST中第K小的元素(中序遍历、二分查找) )
[二叉搜索树] 230. 二叉搜索树中第K小的元素(中序遍历、二分查找)230. 二叉搜索树中第K小的元素思路1:中序遍历查找(迭代实现)思路2:二分查找(统计节点个数 + 分治)230. 二叉搜索树中第K小的元素题目链接:https://leetcode-cn.com/problems/kth-smallest-element-in-a-bst/分类:树:二叉搜索树、中序遍历查找第k小元素查找:二分查找思路1:中序遍历查找(迭代实现)利用二叉搜索树的特点,中序遍历二叉搜索树,到达最原创 2020-10-02 21:01:05 · 172 阅读 · 0 评论 -
[树遍历的应用] 226. 翻转二叉树(递归DFS、迭代BFS)
[树遍历的应用] 226. 翻转二叉树(递归DFS、迭代BFS)226. 翻转二叉树思路1:递归(DFS)实现遇到的问题:特殊用例的处理思路2:迭代(BFS)226. 翻转二叉树题目链接:https://leetcode-cn.com/problems/invert-binary-tree/分类:树(翻转二叉树、树的遍历:递归DFS,迭代BFS + 在遍历过程中翻转)思路1:递归(DFS)算法流程:鲁棒性验证,快速处理边界用例创建backup节点用于存放根节点,用于返回镜像原创 2020-09-30 18:29:37 · 153 阅读 · 0 评论 -
[图 拓扑排序 DFS BFS] 207. 课程表(有向图判断是否有环:DFS、BFS)210. 课程表 II (有向图找拓扑排序:BFS)
[图 拓扑排序 DFS BFS] 207. 课程表(有向图判断是否有环:DFS、BFS)207. 课程表题目分析:把问题转化为拓扑排序问题思路1:DFS + 标记数组 判断是否存在回路(并未用到拓扑排序思想)算法设计1、先将边缘列表转化为邻接表2、如何对有向图进行DFS遍历?(对图做DFS的框架,不涉及DFS内部实现)3、如何实现一趟深度优先遍历DFS + 有环判断?实现代码思路2:BFS + 入度数组(拓扑排序思想)算法设计1、边缘列表转换为邻接表(同思路1)2、对有向图的常规BFS要如何实现?3、如何用原创 2020-09-22 00:05:26 · 371 阅读 · 0 评论 -
[DFS BFS] 200. 岛屿数量(DFS + used数组 + 空间优化)
[DFS BFS] 200. 岛屿数量(DFS + used数组 + 空间优化)200. 岛屿数量思路1:DFS + 辅助数组 -> 空间优化关键问题:如何寻找当前岛屿的所有节点?算法流程实现代码200. 岛屿数量题目链接:https://leetcode-cn.com/problems/number-of-islands/相似题目:130. 被围绕的区域分类:深度优先遍历、广度优先遍历、图、并查集(待补充)思路1:DFS + 辅助数组 -> 空间优化设置一个辅助二维数组记录每个元原创 2020-09-20 12:17:08 · 186 阅读 · 0 评论