算法--搜索与图

这里写目录标题

主要内容

DFS

思想

会优先向深处搜索 一旦到达最深处 那么会回溯 但是在回溯的过程中 会边回溯边观察是否有能继续深入的点 如果有 那么继续深入搜 直到他确认该点深处都被搜过了 才会放过这个点 继续回溯

就是按照一颗树的顺序 并且以深度优先的顺序来存放数据

但是我们不需要新建一颗树 而是存放每一次搜索的路径 并且也需要自己写一个栈 系统会有一个隐性栈 帮我们维护栈

同时回溯的时候 要恢复现场 恢复搜索前的现场 如下图

从1 2 _ 回溯时

要恢复到1 _ _ 的样子

BFS

思想

BFS会一层一层查找 他会确保当前层都搜完了 再去搜索下一层

DFS与BFS的比较

DFS空间较小 但是BFS具有最短路性质

之所以DFS没有最短路 如上 加入加一条边 那么要搜索到左下角那个点的话 DFS可能返回的路径是3步 但是最短的是2步 所以不具有最短路性质

但是换做BFS 按层查找 那么肯定会先从最外面那条边搜到目标点

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

相关推荐
hsling松子22 分钟前
使用PaddleHub智能生成,献上浓情国庆福
人工智能·算法·机器学习·语言模型·paddlepaddle
dengqingrui1231 小时前
【树形DP】AT_dp_p Independent Set 题解
c++·学习·算法·深度优先·图论·dp
C++忠实粉丝1 小时前
前缀和(8)_矩阵区域和
数据结构·c++·线性代数·算法·矩阵
ZZZ_O^O1 小时前
二分查找算法——寻找旋转排序数组中的最小值&点名
数据结构·c++·学习·算法·二叉树
CV-King2 小时前
opencv实战项目(三十):使用傅里叶变换进行图像边缘检测
人工智能·opencv·算法·计算机视觉
代码雕刻家2 小时前
数据结构-3.9.栈在递归中的应用
c语言·数据结构·算法
雨中rain2 小时前
算法 | 位运算(哈希思想)
算法
Kalika0-04 小时前
猴子吃桃-C语言
c语言·开发语言·数据结构·算法
sp_fyf_20244 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-02
人工智能·神经网络·算法·计算机视觉·语言模型·自然语言处理·数据挖掘
我是哈哈hh6 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝