Topological sort линейно упорядочивает вершины DAG (ориентированный ациклический граф) так, чтобы для каждого ребра u->v вершина u находилась раньше v. Она отвечает на вопрос "в каком порядке я могу выполнить эти задачи, учитывая их зависимости?"
Идея
Два распространённых подхода: (повторно удаляйте узлы с входящей степенью 0) или (reverse post-order). Корректный порядок существует .
