Более строгий анализ модифицированного алгоритма Боровки


11

Алгоритм Боровки является одним из стандартных алгоритмов вычисления минимального остовного дерева для графа , где | V | = n , | E | = М .G=(V,E)|V|=n,|E|=m

Псевдокод:

MST T = empty tree
Begin with each vertex as a component
While number of components > 1
    For each component c
       let e = minimum edge out of component c
       if e is not in T
           add e to T  //merging the two components connected by e

Мы называем каждую итерацию внешнего цикла раундом. В каждом раунде внутренний цикл сокращает количество компонентов, по крайней мере, пополам. Поэтому существует не более раундов. В каждом раунде внутренний цикл просматривает каждое ребро не более двух раз (по одному разу от каждого компонента). Следовательно, время работы составляет самое большее O ( m log n ) .O(logn)O(mlogn)

Теперь предположим, что после каждого раунда мы удаляем все ребра, которые соединяют только вершины в одном и том же компоненте, а также удаляем дубликаты ребер между компонентами, так что внутренний цикл смотрит только на некоторое количество ребер m '<m, которые являются ребрами минимального веса, которые подключите два ранее отсоединенных компонента.

Как эта оптимизация влияет на время работы?

T(m)=T(m/2)+O(m)=O(m)

Однако, хотя оптимизация значительно сократит количество рассмотренных ребер (только 1 ребро к финальному раунду и не более # компонентов выбирает 2 в целом), неясно, как / если мы сможем использовать этот факт для ужесточения анализа во время выполнения.


В худшем случае (цепочка) вы удалите ровно одно ребро за раунд, поэтому вы не можете использовать этот факт для улучшения границ общего графа. Вы могли бы рассмотреть, например, только полные графики, хотя.
Xodarap

G

Обратите внимание, что вы можете использовать одну из высокооптимизированных структур объединения-поиска для улучшения этого алгоритма.
Рафаэль

Ответы:


5

|E|3|V|6|E|=O(|V|)

Ссылка:

  • Мастера диссертация, Клод Андерсон (на странице 100 в худшем случае входа для алгоритма Борувки является описано). [ссылка на сайт]

  • "Два линейных алгоритма времени для MST на младших классах закрытых графов". Archivum Mathematicum 40 (3): 315–320, 2004. [ссылка]

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.