← Назад к списку задач

топологическая сортировка

Алгоритмы Уровень 2

Описание задачи

Необходимо реализовать алгоритм топологической сортировки для ориентированного графа. Топологическая сортировка представляет собой линейное упорядочение вершин (узлов) графа таким образом, что для каждого ребра от узла u к узлу v узел u предшествует узлу v в упорядочении.

Входные данные:
* edges: Список кортежей, где каждый кортеж представляет собой ребро графа. Каждый кортеж содержит два целых числа, обозначающих вершины, соединенные ребром (например, (u, v) означает наличие ребра от вершины u к вершине v).

Выходные данные:
* Список целых чисел: Если граф имеет точную топологическую сортировку, функция возвращает список вершин в порядке их топологической упорядоченности. Если граф содержит цикл (циклическийграф), функция возвращает None.

Режим обучения Готово

Объяснение решения уже подготовлено. Нажмите кнопку, чтобы посмотреть.

Ваше решение

Подсказка (готовое решение)

def topo_sort(edges):