广度优先搜索
广度优先搜索(Breadth First Search)也叫宽度优先搜索,是指从图中的某个结点出发,沿着和这个点相连的边向前走,去寻找和这个点距离为 1 的所有其他点。只有当和起始点距离为 1 的所有点都被搜索完毕,才开始搜索和起始点距离为 2 的点。当所有和起始点距离为 2 的点都被搜索完了,才开始搜索和起始点距离为 3 的点,如此类推。![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1e274ac6c89dc54628cbab72c305f486.png#pic_center)
我们用结点上的数字表示结点的 ID,用虚线表示遍历前进的方向,用结点边上的数字表示该结点在广度优先搜索中被访问的顺序。从这个图中,你有没有发现,广度优先搜索其实就是横向搜索一颗树啊!
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0955f1e49df73d8f0eec79b74db2d66e.png#pic_center)