搜索

(1)剪枝
(2)双向广搜
(3)记忆化搜索
(4)迭代加深
(5)启发式搜索

BFS 和 DFS

  • BFS:广度优先搜索
  • DFS:深度优先搜索

这两种搜索算法在图论和树结构中常被使用,用于遍历或搜索图或树的节点。广度优先搜索按层次逐层扩展,而深度优先搜索则通过沿着树的深度尽可能远的搜索。这两种算法在不同的情况下有不同的应用场景

搜索是暴力法的具体实现

DFS BFS
适合求方案总数 适合求解最短路,连通性问题
利用递归来实现 利用队列来实现
试探搜索 地毯搜索
沿着一条路走到黑 总是先w试距离初始状态最近的状态

DFS (递归实现)

递归思想:不断重复调用自己

俩个过程:递归前进和递归后退(回溯)

大问题拆分小问题 求小问题的解载返回大问题上直到求出大问题的解

斐波那契数列

image-20240125154246556

模板

x

BFS(最短路径)