BFS/DFS
提示:以下是本篇文章正文内容,下面案例可供参考
一、优先搜索算法介绍
1.BFS:(广度优先搜索)
原理:从起点开始,逐层访问相邻节点,直到找到目标或遍历完所有节点。
特点:按层次遍历,适合求最短路径。
数据结构:队列。
2.DFS:(深度优先搜索)
原理:从起点开始,沿着一条路径深入搜索,直到无法继续,然后回溯。
特点:优先深入探索,适合探索性问题。
数据结构:栈(或递归),以下使用栈。
二、提前说明
1.本文章代码对于的图结构
2.图结构的存储形式:
采用字典的方式,所有节点都对应一个key,value是其所有相连的,这里无关重复。
graph={
"A":{
"B","C"},
"B":{
"A","C","D"},
"C":{
"A",'B','D','E'},
"D":{
'B','C','E','F'},
"E":{
'C','D'},
"F":{
'D&#