【DFS/BFS】
小呀小二笙
斯人若彩虹,遇上方知有~~~
展开
-
简单易懂DFS(一) dfs + 回溯
DFS深度优先搜索,简称∗∗dfs∗∗**dfs**∗∗dfs∗∗深度优先搜索按照深度优先的方式进行搜索,通俗来说就是"一条路走到黑"。注意,这里的"搜索"不是指的我们平时在文件中或者在网络上查找信息,搜索是一种穷举的方式,把所有可行的方案都列出来,不断去尝试,直到找到问题的解。深度优先搜索和递归的区别是:深度优先搜索是一种算法,注重的是思想;而递归是一种基于编程语言的实现方式。深度优先搜索...原创 2019-03-01 00:35:37 · 7403 阅读 · 10 评论 -
简单易懂DFS(二)抽象DFS
像迷宫这一类的题目使用到的dfsdfsdfs算法都是比较容易想象出搜索过程中的,而有些问题不是那么容易就能想象出搜索过程的,我们把这类问题称之为抽象形式的dfsdfsdfs例1:给定nnn个整数,要求选出KKK个数,使得选出来的KKK个数的和为sumsumsum对于形如这样问题,并没有很明显的地图让你来进行搜索;但依然可以借助dfs来解决这个问题。对于每一个数,枚举选或者不选两种情况...原创 2019-03-01 11:01:12 · 860 阅读 · 0 评论 -
简单易懂DFS(三)dfs剪枝策略
1原创 2019-03-01 16:07:02 · 4184 阅读 · 1 评论 -
简单易懂BFS
广度优先搜索,又称宽度优先搜索,简称bfsbfsbfs。与深度优先搜索不同的是,广度优先搜索会先将与起始距离较近的点搜索完毕,再继续搜索较远的点,而深搜却是沿一个分支搜到最后bfsbfsbfs从起点开始,优先搜索离起点最近的点,然后由这个最近的点扩展其他稍近的点,这样一层一层的扩展,就像水波扩散一样。bfsbfsbfs需要借助队列来实现:1.初始的时候把起始点放入队列中,并标记起点访问2...原创 2019-03-01 19:05:41 · 347 阅读 · 0 评论 -
【蓝桥杯】基础练习 2n皇后问题
问题描述 给定一个n∗nn*nn∗n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入nnn个黑皇后和nnn个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?nnn小于等于8。输入格式 输入的第一行为一个整数nnn,表示棋盘的大小。 接下来nnn行,每行nnn个0或1的整数,如果一个整数为...原创 2019-03-10 20:24:04 · 647 阅读 · 0 评论 -
【Leetcode】17.电话号码的字母组合 【深搜、字符串】
给定一个仅包含数字 2−92-92−9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 111 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。思路:dfsdfsdf...原创 2019-04-23 15:16:03 · 153 阅读 · 0 评论