Алгоритм Борувки

Алгори́тм Бору́вки, алгоритм построения минимального остовного дерева во взвешенном связном неориентированном графе. Предложен в 1926 г. в работах чешского математика О. Борувки ([1]; [2]).

Алгоритм является жадным. За и обозначаются множества рёбер и вершин графа , за и – число рёбер и вершин в графе соответственно. Алгоритм использует ([3] P. 3–36) процедуру сжатия по множеству нескольких вершин графа , которая объединяет множество в одну новую вершину. Вес ребра от каждой вершины до новой определяется как вес ребра наименьшего веса между этой вершиной и вершиной из в старом графе . При этом считается, что вес ребра между несвязанными ребром вершинами равен .

Пусть множество вершин таково, что подграф некоторого минимального остовного дерева графа , порождённый , связен. Пусть – результат сжатия графа по . Тогда остовное дерево графа можно получить как порёберное объединение минимального остовного дерева графа и минимального остовного дерева, порождённого множеством подграфа . Также данный факт остаётся верным и при сжатии нескольких непересекающихся множеств вершин.

Далее выполняются следующие шаги ([4] P. 26):

  1. Раскраска. Для каждой вершины раскрашиваем ребро между ней и ближайшей соседней вершиной. Рёбра, раскрашенные более одного раза, не отличаются от рёбер, раскрашенных единожды.
  2. Сжатие. Сжимаем получившиеся компоненты связности на графе, порождённом раскрашенными рёбрами.
  3. Рекурсивно повторяем предыдущие шаги, пока не найдём минимальное остовное дерево.

Объединение всех раскрашенных рёбер даёт искомое минимальное остовное дерево.

Раскраска и сжатие выполняются за линейное время . Так как при раскраске графа раскрашивается число рёбер, не меньшее половины числа его вершин, то алгоритм сделает шагов прежде, чем найдёт минимальное остовное дерево. Таким образом, временна́я сложность алгоритма составляет .

См. также «О большое».

Примечания

  1. Borûvka О. O jistém problému minimálním. 1926
  2. Borûvka О. Příspěvek k otázce ekonomické. 1926
  3. Nešetřil. 2001.
  4. Nešetřil J. 2001.

Литература

Источники

  • Borûvka О. O jistém problému minimálním // Práce Moravské přírodovědecké společnosti. – 1926. – Sv. III, spis 3. – P. 37–58.
  • Borûvka О. Příspěvek k otázce ekonomické stavby elektrovodných sítí // Elektrotechnický obzor. – 1926. – Vol. 15. – P. 153–154.
  • Nešetřil J. Otakar Borůvka on minimum spanning tree problem Translation of both the 1926 papers, comments, history / J. Nešetřil, E. Milková, H. Nešetřilová // Discrete Mathematics. – 2001. – Vol. 233, № 1/3. – P. 3–36.
Материалы портала bigenc.ru переданы в ведение АНО «Интернет-энциклопедия «РУВИКИ» на основе лицензионного соглашения. Возможны неточности в отображении материалов. Если у вас возникли вопросы или вы увидели ошибку, пожалуйста, сообщите нам на info@ruwiki.ru