Главная > Методы обработки данных > Графы, сети и алгоритмы
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

5.7. Ациклические ориентированные графы

В этом разделе изучаются свойства важного класса ориентированных графов, а именно ациклических. Как мы знаем, ориентированный граф — ациклический, если он не содержит контуров. Очевидно, простейшим примером ациклического ориентированного графа является ориентированное дерево.

Рис. 5.16. Ациклический ориентированный граф.

Основной результат, который мы получим в этом разделе, заключается в том, что вершины ациклического ориентированного графа G на вершинах можно пометить таким образом целыми числами из множества , что если в графе G имеется дуга то Напомним, что дуга направлена из вершины в вершину j. Определенное нами упорядочение вершин называется топологической сортировкой. Топологически отсортированы, например, вершины ациклического ориентированного графа на рис.

5.16. Справедливость основного результата этого раздела определяется следующей теоремой:

Теорема 5.13. В ациклическом ориентированном графе имеются по крайней мере одна вершина с нулевой полустепенью захода и одна вершина с нулевой полустепенью исхода.

Доказательство. Пусть максимальный ориентированный путь графа G. Покажем, что полустепень захода и полустепень исхода равны нулю.

Если полустепень захода не равна нулю, то существует такая вершина w, что в графе G имеется дуга . Возможны два случая.

Случай 1. Пусть . Тогда существует ориентированный путь содержащий все дуги пути Р. Это противоречит максимальности упомянутого пути.

Случай 2. Пусть для некоторого Тогда в графе G имеется контур Это противоречит условиям теоремы.

Таким образом, не существует такой вершины w, что — дуга графа G. Другими словами, полустепень захода равна нулю.

Рассуждая аналогичным образом, можно показать, что равна нулю полустепень исхода

Для осуществления топологической сортировки вершин ациклического ориентированного графа G на вершинах проделаем следующее.

Выберем произвольную вершину с нулевой полустепенью исхода. Это возможно, поскольку граф G — ациклический, а по теореме 5.13 в нем должна иметься хотя бы одна такая вершина. Пометим выбранную вершину целым . Теперь удалим из графа G эту вершину и инцидентные ему дуги. Обозначим получившийся граф через G. Поскольку граф G также ациклический, можно выбрать в нем вершину с нулевой полустепенью исхода. Пометим эту вершину целым числом Повторим описанную процедуру до тех пор, пока не пометим все вершины. Легко видеть, что эта процедура порождает топологическую сортировку вершин графа

В соответствии с этой процедурой была сделана, например, разметка вершин графа на рис. 5.16.

<< Предыдущий параграф Следующий параграф >>
Оглавление