Изменения

Перейти к: навигация, поиск

Задача о динамической связности

36 байт добавлено, 21:43, 13 января 2018
add(u,v)
Очевидно, что <tex>G_{\log n} \subseteq G_{\log n-1} \subseteq \ldots \subseteq G_1 \subseteq G_0 = G</tex>. Выделим в графах остовные леса таким образом, что <tex>F_{\log n} \subseteq F_{\log n-1} \subseteq \ldots \subseteq F_1 \subseteq F_0</tex>, где <tex>F_i</tex> {{---}} остовный лес графа <tex>G_i</tex>.
Удобнее всего новому ребру давать уровень <tex>0</tex>. В этом случае изменится только <tex>G_0</tex>, так как в остальные подграфы <tex>G_i</tex> рёбра нулевого уровня не входят. Затем нам нужно проверить, были ли эти вершины в одной компоненте связности до того, как мы вставили ребро. Если они лежали в разных компонентах, то необходимо новое ребро добавить и в остовный лес<tex>F_0</tex>.
<!---------- '''function''' add('''Node''' u, '''Node''' v):we need a Psevdocode-->
===remove(u,v)===
693
правки

Навигация