Восстановление пути в поиске в ширину (BFS
) используется когда необходимо определить сам путь от начальной вершины до конечной вершины в графе или дереве. Обычно это делается с использованием списка предков (например prev
). Идея заключается в том, чтобы хранить список предков для каждой вершины в процессе выполнения BFS.
prev[i]
- хранит номер вершины, из которой мы попадаем в вершину i
.
Сохранение вершины, из которой мы попадаем в смежную вершину можно организовать таким образом:
prev[смежная_вершина] = текущая_вершина
Для восстановления пути необходимо пройтись по данному массиву с конца до стартовой вершины, выписывая все вершины в какой-либо список. По окончании этого процесса, список необходимо перевернуть.