第三章(一)DFS BFS 树与图的存储 树与图的深搜、宽搜 拓扑排序

1树的深搜和宽搜

先来看一下两种搜索搜索顺序

深搜顺序

宽搜顺序

然后我们来简单地对比一下二者

- 数据结构 空间 最短性(边长权重都为1)
DFS stack O(h)
BFS queue O(2^h)

然后来看DFS

DFS

DFS里有两个重要的概念 非别是回溯和减枝

排列数字

给定一个整数n,将数字1~n排成一排,将会有很多种排列方法。

现在,请你按照字典序将所有的排列方法输出。

输入格式

共一行,包含一个整数n。

输出格式

按字典序输出所有排列方案,每个方案占一行。

数据范围
1≤n≤7
输入样例:

3

输出样例:

1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1

我们先来分析一题意
DFS中最终要的就是顺序,我们到底要用什么样的顺序来把我们某一答案的全部方案遍历一遍

在这里我们可以看成有三个空位,然后往每个空位上填入数字

你可能感兴趣的:(第三章(一)DFS BFS 树与图的存储 树与图的深搜、宽搜 拓扑排序)