文章目录
1、什么是广度优先搜索
广度优先搜索是一种对图进行搜索的算法。假设我们一开始位于某个顶点,以该顶点为起点顺着图的边进行搜索,直到到达指定的顶点(即终点)。在此过程中每走过一个顶点,就会判断当前是否到达终点。广度优先搜索会优先从离起点最近的顶点开始搜索。
![]() |
通过对以上例子以及动图的理解可以发现,广度优先搜索的特点是 由近及远 的进行搜索,离搜索起点近的顶点先被搜索到,离的远的顶点被搜索到的就慢。并且搜索的时候是按照成为候补顶点的顺序搜索顶点的。这种 “先到先得” 的特征符合 队列 这种数据结构。因此广度优先搜索使用队列这种数据结构来管理顶点。
2、题目类型
在利用广度优先搜索进行路径规划中,目前只遇到了一些最短路径问题,暂时还没有遇到过最长路径问题(感觉最长路问题也没有什么实际意义),因此这里只对最短路径问题进行研究,具体内容参照下方最短路问题的链接。
①、层序遍历问题
②、建图问题
③、最短路问题
④、连通性问题
⑤、拓扑排序问题