Menu
Coddy logo textTech

Motivation

Урок 2 из 9 курса Топологическая сортировка — алгоритмы на графах на Coddy.

Топологический порядок существует только тогда, когда в графе нет циклов. Мы строим его с помощью алгоритма Кана, который многократно удаляет вершину, не имеющую оставшихся входящих ребер.

Зачем изучать топологическую сортировку?

  • Упорядочивание с ограничениями: системы сборки, планирование задач, предварительные условия курсов и пересчет электронных таблиц — все это опирается на нее.
  • Обнаружение циклов: если вы не можете упорядочить каждую вершину, значит, граф содержит цикл.
  • Основа для алгоритмов на DAG: кратчайшие и длиннейшие пути в DAG (направленном ациклическом графе) вычисляются в топологическом порядке.

Может существовать множество допустимых порядков. Чтобы получить один предсказуемый ответ, мы всегда удаляем вершину с наименьшим номером, чья полустепень захода (in-degree) равна 0.

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Топологическая сортировка — алгоритмы на графах