Транспонирование графа
У многих графов есть еще одно условие, то что их можно транспонировать. Давайте сначала разберемся с тем, что же такое транспонирование.
Транспонированый ориентированный граф G - это другой ориентированный граф на том же множестве вершин со всеми ребрами, перевернутыми по сравнению с ориентацией соответствующих ребер в G. То есть, если G содержит ребро (u, v), то обратное (transpose / reverse) G содержит ребро (v, u) и наоборот.
Алгоритм транспонирования графа
Мы проходим по списку смежности, и когда мы находим вершину v в списке смежности вершины u, которая указывает на ребро от u до v в основном графе, мы просто добавляем ребро от v до u в транспонированный граф, т.е. добавляем u в смежность список вершины v нового графа. Таким образом, обходя списки всех вершин основного графа, мы можем получить транспонированный граф. Таким образом, общая временная сложность алгоритма составляет O (V + E), где V - количество вершин графа, а E - количество ребер графа.
Data Science: Алгоритмы и Структуры данных
Post #4844
529
