Python算法:BFS

BFS搜索的原理:“逐层扩散”。从起点出发,按层次从近到远,逐层先后搜索。
编码:用队列实现。
应用:BFS一般用于求最短路径问题,BFS的特点是逐层搜索,先搜到的层离起点更近。

BFS:找最短路径 

Python算法:BFS_第1张图片

 BFS:用队列实现

Python算法:BFS_第2张图片

 BFS的特点:逐层扩散
          .往BFS的队列中加入邻居结点时,按距离起点远近的顺序加入:先加入距离起点为1的邻居结点,加完之后,再加入距离为2的邻居结点,等等
          ·搜完一层,才会继续搜下一层。


最短路径:从起点开始,沿着每一层逐步往外走,每多一层,路径长度就增加1。所有长度相同的最短路径都是从相同的层次扩散出去的。
搜到第一个到达终点的路径,就是最短路径。


最短路径问题:BFS的应用场合
应用场合:点和点直接的距离是1,即边长是1。

你可能感兴趣的:(算法,蓝桥杯,每日一题,算法,宽度优先,python,蓝桥杯)