1.深度优先搜索 又称 dfs
深搜,顾名思义 就是以深度为上的搜索算法,它本质上就是个递归
只不过是一个比较奢华的的递归
深搜的使用背景 &基本知识点
深搜简称 | 使用背景 | 参考模型 | 题型 |
---|---|---|---|
dfs | 找出所有解;全排列;找到所用的方法数;图论; | 栈和递归 | 全排列;二维深搜; |
TIPS:dfs一般从1开始搜索,与常用的递归不同,有些深搜中是不需要调用自身的,比如下面这道题:
洛谷传送门:P1706 全排列问题
密码岛OJ传送门:#1244. 全排列
全排列问题
题目描述
按照字典序输出自然数 11 到 nn 所有不重复的排列,即 nn 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。
输入格式
一个整数 n。
输出格式
由 1∼n 组成的所有不重复的数字序列,每行一个序列。
每个数字保留5个场宽。
样例 #1
样例输入 #1
3