搜索相关算法
开头废话:最近这几周搞辣鸡项目花了太长时间,好久没写博客了,整理一下这几周写的搜索算法
通过枚举遍历问题的解空间,实现问题的求解,搜索作为比较基础的算法问题之一,题目数量众多,问题难度可难可易,希望通过这篇博客的整理能够加深我对目前学习到的相关搜索算法的理解。
主要的算法
- DFS 深度优先搜索
- BFS 广度优先搜索
- 双向搜索
- Best First Search 最佳优先搜索
- 迭代加深搜索
- 其他
基础搜索算法
最简单也是最常用的两个搜索算法(简单总结)
- 深度优先搜索
- 每次递归首先尝试向更深的结点走
- 广度优先搜索
- 每次枚举穷尽同一层的所有结点
其中深度优先搜索更适合搜索解空间深度与目标解深度相近类型问题,广度优先遍历更适合搜索目标解深度一定程度小于目标解深度类型问题