Изменения

Перейти к: навигация, поиск
Критерий Тарьяна
Рассмотрим Теперь, рассмотрим общий алгоритм построения минимального остовного дерева:<tex> A </tex>, но сначала надо ознакомиться с [[Лемма о безопасном ребре|леммой о безопасном ребре]].
'''function''' Gentric Generic MST(<tex> G</tex>): <tex> A = \{ \} </tex> dfs(i, a, b, c, w, Ch) '''while''' <tex> A </tex> не является остовом a[x] = max '''do''' найти безопасное ребро <tex> (a[x]u, b[i] + w[x][i] - с[i]v ) \in E </tex> для <font color = darkgreentex>A <// по формуле вышеtex> <tex> A = A \cup \{( u, но без b[x] (прибавим его один раз в концеv ) \} </font color = darkgreentex> b[x] += с[i] a[x] += b[x] '''return''' <font color = darkgreentex>// так как в a[x] пока что хранится только на сколько мы можем увеличить ответ если будем использовать вершину xA </font color = darkgreentex> c[x] = max(a[x], b[x])
Для доказательства минимальности <tex>K</tex> построим минимальное остовное дерево графа <tex>G</tex> используя [[алгоритм Краскала]], который представляет собой применение [[Лемма о безопасном ребре|леммы о безопасном ребре]] некоторое число раз.
113
правок

Навигация