Я просматриваю книгу The Design and Analysis of Computer Algorithms Чтение через главу графа, я пытаюсь реализовать DFS
. Читая определение этого алгоритма, он говорит, что график G=(V,E)
разделяет края в E
на два набора T
и B
. Край (v,w)
это место в наборе T
если Вертеш w
не ранее посещенных, когда мы находимся на вершине v
учитывая обрезной (v,w)
, в противном случае ребра `(v, w) является место в множестве B.Представление графика в C++
В основном его алгоритм DFS
будет дайте мне новый график, который будет G=(V,T)
. Я хочу знать, как реализовать это на C++.
Я попытался с помощью adjacency list
, но я путаю есть необходимость хранения edges
от всего map
из list
должно быть хорошо.