Изменения

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

Деревья Эйлерова обхода

272 байта добавлено, 22:22, 3 декабря 2016
cut(u ,v)
[[Файл:Link3.png|center]]
===cut(u ,v)Разрезание ребра=== Given a tree T, executing cut(u, v) cuts the edge {u, v} from the tree (assuming it exists).<br>Watch what happens to the Euler tour of T: 
[[Файл:Cut1.png|thumb|350px|center]]
To cut T into T₁ and T₂ by cutting Для разбиения дерева на два поддерева путем разрезания ребра {u, v}(если оно существует) необходимо:<br>Let E be an Euler tour for T.<br>Rotate *Переподвесить дерево к вершине u to the front of E.<br>Split E into E₁*Разделить дерево на части E1, V, E₂E2, where где V is the span between the first and last occurrence of отрезок между первым и последним вхождением вершины v.<br>T₁ has the Euler tour formed by concatenating E₁ and E₂*Эйлеров обход первого поддерева образуется соединением E1 и E2, deleting the extra с удалением повторного u at the join pointв месте их соединения.<br>T₂ has Euler tour *Эйлеров обход второго поддерева образует V.
[[Файл:Cut2.png|thumb|350px|center]]
В результате получим:
[[Файл:Cut3.png|thumb|350px|center]]
635
правок

Навигация