Изменения

Перейти к: навигация, поиск
Нет описания правки
{{Утверждение
|id = max_spanning_tree
|statement=Максимальное количество попарно непересекающихся [[Остовные деревья: определения, лемма о безопасном ребре#spanning_tree| остовных деревьев]] в графе с <tex>n</tex> вершинами равно <tex> \left \lfloor {\dfrac{n}{2}}\right \rfloor </tex>|proof = #Очевидно, что наибольшее количество непересекающихся остовных деревьев может быть только в полном графе из <tex>n</tex> вершин. Количество ребер в таком графе равно <tex> \dfrac{n(n - 1)}{2}</tex>, а в каждом дереве <tex>n - 1</tex> ребро. Значит, в полном графе мы сможем построить не более <tex> \dfrac{n(n - 1)}{2(n - 1)} = \left \lfloor {\dfrac{n}{2}}\right \rfloor</tex> остовных деревьев.#Алгоритм построения остовных деревьев. Расположим вершины на окружности и выберем начальную вершину'''(рис.1)'''. Для <tex>\left \lfloor {\dfrac{n}{2}}\right \rfloor</tex> вершин по часовой стрелке, начиная с этой вершины, будем строить остовные деревья. Для <tex>i</tex>-ой вершины строим такой путь <tex>:</tex><tex>V_i V_{i+1} V_{i-1} V_{i+2} V_{i-2}\ldots, </tex> {{---}} до тех пор, пока не соединим все вершины. Это и будет остовным деревом '''(рис.2)'''.#Докажем, что построенные с помощью такого алгоритма остовные деревья будут попарно непересекающимися. Для этого докажем, что никакие ребра не совпадут. Ребра могут совпасть только в том случае, если дуги, на которые эти ребра опираются, будут одинаковой длины. Заметим, что каждое следующее остовное дерево является поворотом предыдущего. Рассмотрим первое построенное остовное дерево '''(рис.3)''' В нем не более <tex>2</tex>-х ребер имеют одинаковую длину дуги(длина дуги у ребра, расположенного на диагонали, не совпадает с длиной дуги любого другого ребра данного остовного дерева). Значит, повороты только этих ребер могут совпасть между собой.   }}  [[Категория: Алгоритмы и структуры данных]] [[Категория: Остовные деревья]][[Категория: Построение остовных деревьев]]
195
правок

Навигация