算法 BreadthFirstSearch(v) // 以序号为v的顶点出发,广度优先遍历图 BFS1 [创建一个辅助队列] CREATE(Q). BFS2 [开始节点入队] Q <= v. BFS3 [创建辅助数组,记录哪些节点已经被访问] visited[]. BFS4 [初始化辅助数组] FOR i FROM 0 TO graphsize DO ( visited[i] <- 0. ) BFS5 [利用队列进行广度优先遍历] WHILE NOT Empty(Q) DO ( k <= Q. IF NOT(visited[k]) THEN ( visited[k] <- 1. PRINT(k). ) w <- GetFirstNeighbor(k). WHILE w != -1 DO ( IF NOT(visited[w]) THEN ( Q <= w. ) w <- GetNextNeighbor(k, w). // 返回在图中节点k的位于w之后的相邻节点 ) )