Изменения

Перейти к: навигация, поиск
Нет описания правки
|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> \left \lfloor {\dfrac{n(n - 1)}{2(n - 1)}}\right \rfloor =</tex> <tex dpi = "130">\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)'''
{| cellpadding="10"
|-
|[[Файл:Max spanning tree1.png|thumb|300px|center|Рис.1 Стрелкой указана начальная вершина]] || [[Файл:Max spanning tree2.png|thumb|339px|center|Рис.2 Красным цветом выделено первое построенное остовное дерево]] || [[Файл:Max spanning tree6.png|thumb|270px|center|Рис.3 Все остовные деревья]]
|}
===Доказательство корректности===
195
правок

Навигация