在上述示例代码中,我们通过邻接矩阵表示图。graph是一个二维数组,其中graph[i][j]表示顶点i和j之间是否存在边。
算法的关键是使用队列来进行遍历。我们从指定的起始顶点开始,并将其入队,并将其标记为已访问。然后,进入循环,直到队列为空。在循环中,我们首先从队列中取出当前顶点,并输出。然后,我们遍历当前顶点的所有邻居。如果邻居顶点尚未访问过,则将其入队并标记为已访问。通过不断执行这个过程,直到队列为空,我们就完成了广度优先搜索。
在示例代码中,我们以顶点0作为起始顶点调用bfs(0)方法进行遍历。最终的输出结果将会是按照广度优先搜索顺序遍历的顶点序列。