没有思路的题
bfs
广度优先搜索
是一层一层的扩展,例如从起点开始,扩展到经过一秒能到的位置,然后从第一秒你能到的位置扩展到第二秒你能到的位置…
如下图
BFS用途
bfs可以用来算在图中的最短时间,n,m较大的时候也可以算,还可以输出路径。也可以用来对图遍历。
例题
三维BFS搜索板子
平面BFS搜索板子
一维BFS搜索板子
BFS输出路径板子
DFS
深度优先搜索
和BFS不同,DFS直接从起点按照你给的顺序生成一条路径,如果这条路径到达终点就结束。如果没有路走了就原路返回如果原路返回的时候碰到有其他路口并且没有被走过的时候,就进去,如此反复。
如图,圆上的数字是被访问的顺序。
DFS用途
DFS用在回溯上,比如八皇后问题。也可以遍历图,但是求图上的起点到终点的最短时间在数据量大的时候可能会RE。