bfs中,给定图 G = (V, E) 和一个 可以识别的源结点 s, bfs对图G中的边进行系统性的探索来发现可以从源结点s到达的所有的结点。
该算法始终是讲已发现结点和未发现结点之间的边界,沿其广度方向向外扩展。也就是说,算法需要在发现所有距离源结点s为k的所有结点之后,才会发现距离源结点s为k+1的其他结点。
该算法能够计算从源结点s到每个可到达的结点的距离(最少的 边数), 同时生成一棵“广度优先搜索树”。该树以源结点s为根结点,包含所有可以从s到达的结点。
该图中, 假设C为源点,从C可到达的点为A,F, 从A可到达的结点为D,B, 从F可到达的结点为H...
则bfs遍历该图所得到的顺序为:C -> A, F -> B, D, H -> E, I -> G
其产生的 广度优先搜索树: