Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int BFS(G: (V, E), source: int, destination: int):
- d = int[|V|] // размерность массива расстояний
- fill(d, ∞) // инициализация массива бесконечностью
- d[source] = 0 // расстояние до вершины s = 0
- Q = ∅ // пустая очередь
- Q.push(source) // добавляем в очередь стартовую вершину
- while Q ≠∅ // пока не пустая очередь
- u = Q.pop() // в u записываем голову очереди и удаляем её
- for vu in E для всех соседей u
- if d[v] == ∞ // если расстояние от вершины u до v бессконечность
- d[v] = d[u] + 1 // то в расстояние от u до v + 1
- Q.push(v) // добавляем v в очередь
- return d[destination]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement