# グラフgと始点ノードs
breadthFirstSearch(g, s):
Queue que
for i ← 0 to g.N - 1:
dist[i] ← INF
que.enqueue(s)
dist[s] ← 0
while not que.empty():
u ← que.dequeue()
for v in g.adjLists[u]:
if dist[v] = INF:
dist[v] ← dist[u] + 1
que.enqueue(v)