深度优先搜索
文章平均质量分 64
DFS
litanyuan
这个作者很懒,什么都没留下…
展开
-
LeetCode-688. 骑士在棋盘上的概率
LeetCode-688. 骑士在棋盘上的概率 深度优先算法原创 2022-02-18 13:25:44 · 339 阅读 · 0 评论 -
LeetCode-116.填充每个节点的下一个右侧节点指针、深度优先搜索
题目分析①.广度优先搜索题目要求把二叉树中每一层的的节点连起来,最简单的方法即 BFS ,按层的顺序的对树进行遍历,但需要使用 queue 数据结构,空间复杂度为 O(N),不符合题目要求。②.深度优先搜索由于 next 指针的存在,可以实现对二叉树进行从上往下从左到右的遍历,每个节点的 next 指针在遍历其父节点时进行赋值;当遍历到每一个节点时:把其左子节点和右子节点进行关联、右子节点和其下个节点的左子节点进行关联。深度优先搜索深度优先搜索(DFS)就是在每一步时对每一种可能的选择一条...原创 2020-10-15 15:06:17 · 117 阅读 · 0 评论 -
LeetCode-47.全排列Ⅱ、深度优先搜索
深度优先搜索深度优先搜索(DFS)就是在每一步时对每一种可能的选择一条道走到底,然后再回过头尝试另外一种选择。深度优先搜索的关键是要考虑“当前这一步”该如何做,至于“下一步”该怎么做和当前这一步的解决方法是一样的。在进行当前步的选择之前要确定已经做出的选择列表,然后在剩余可供选择的每一种可能进行遍历,对于每一种选择将选择结果以及选择状态代入下一步操作,然后再次进行深度优先搜索。DFS 实现DFS的实现考虑要以下几个问题即可:①.边界范围:即搜索终止条件,递归结束条件。②.可供选择的范围列表:所.原创 2020-09-18 17:32:41 · 131 阅读 · 0 评论 -
LeetCode-491.递增子序列、深度优先搜索算法DFS
给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。示例:输入: [4, 6, 7, 7]输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]]说明:给定数组的长度不会超过15。数组中的整数范围是 [-100,100]。给定数组中可能包含重复数字,相等的数字应该被视为递增的一种情况。来源:力扣(LeetCode)第491题解题思路生成子序列生成.原创 2020-08-25 09:41:54 · 226 阅读 · 0 评论 -
LeetCode-114.二叉树展开为链表
来源:力扣(LeetCode)第114题解题思路根据题意,对每个节点作如下操作:①.把其左儿子位置变成nullptr②.其左儿子变换后放到右儿子的位置③.把右儿子变换后挂到左儿子变换后的末尾节点的右儿子位置然后从根节点开始直接递归即可,基线条件是没有任何儿子节点直接返回自身代码示例/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; ..原创 2020-08-03 18:52:27 · 166 阅读 · 0 评论 -
力扣刷题-47.全排列Ⅱ、深度优先搜索
给定一个可包含重复数字的序列,返回所有不重复的全排列。深度优先搜索(DFS) 深度优先搜索就是在每一步对每一种可能的选择一条道走到底,然后再回过头尝试另外一种选择。 深度优先搜索的关键是要考虑“当前这一步”该如何做,至于“下一步”该怎么做和当前这一步的解决方法是一样的。在进行当前步的选择之前要确定已经做出的选择列表,然后在剩余可供选择的每一种可能进行遍历,对于每一种选择将选择结果...原创 2020-04-22 10:42:48 · 190 阅读 · 0 评论