搜索
搜索算法十分常见且重要,主要由深度优先搜索(Depth First Search,简称DFS),广度优先搜索(Width Frist Search,简称BFS),搜索回溯,记忆化搜索,A*算法等组成
DFS
引入
给你一个数 $n$,写出 $1, 2, 3,······, n$ 的全排列。
全排列:一串字符或数字的所有排列顺序
例如:1 2 3
全排列为:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
并且按照字典序输出。
思路
我们先不管 $n$ 的范围,直接考虑暴力求解,发现我们可以通过一种 “选数” 的方法选出我们要的答案,如图。