Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вторые 21.docx
Скачиваний:
8
Добавлен:
18.03.2015
Размер:
816.03 Кб
Скачать

Свойства

  • Дерево не имеет кратных рёбер и петель.

  • Любое дерево с вершинами содержитребро. Более того, конечный связный граф является деревом тогда и только тогда, когда, где— число вершин,— число рёбер графа.

  • Граф является деревом тогда и только тогда, когда любые две различные его вершины можно соединить единственной простой цепью.

  • Любое дерево однозначно определяется расстояниями (длиной наименьшей цепи) между его концевыми (степени 1) вершинами.

  • Любое дерево является двудольным графом. Любое дерево, множество вершин которого не более чем счётное, является планарным графом.

  • Для любых трёх вершин дерева, пути между парами этих вершин имеют ровно одну общую вершину.

  1. Задача Штейнера. Остовное дерево

Задача Штейнера состоит в поиске минимального дерева Штейнера — кратчайшей сети, соединяющей заданный конечный набор точек плоскости. Свое название получила в честь Якоба Штейнера (1796—1863).

Опр. Остовным деревом связного графа G называется любой его подграф, содержащий все вершины графа G и являющийся деревом.

Пусть G – связный граф. Тогда остовное дерево графа G должно содержать n(G)-1 ребер. Значит, для получения остовного дерева из графа G нужно удалить ребер. Числоназывается цикломатическим числом графаG.

Алгоритм выделения остовного дерева

1) Выберем в G произвольную вершину , которая образует подграф, являющийся деревом. Положимi=1.

2) Если i=n(G), то задача решена и Gi – искомое остовное дерево графа G. Иначе переходим к п. 3.

3) Пусть уже построено дерево являющееся подграфом графаG, в которое входят вершины , где. Строим граф, добавляя к графуGi новую вершину , смежную с некоторой вершинойграфаи новое ребро. Во-первых, это можно всегда сделать, поскольку граф связен. Во-вторых,- дерево, т.к. если вне было циклов, то и вих не могло появиться.

Присваиваем i:=i+1 и переходим к шагу 2).

Замечание. Остовное дерево может быть выделено, вообще говоря, не единственным способом.

Если граф – нагруженный, то можно выделить остовное дерево с минимальной суммой длин содержащихся в нем ребер.

Алгоритм выделения минимального остовного дерева нагруженного графа

1) Выберем в графе G ребро минимальной длины. Вместе с инцидентными ему двумя вершинами оно образует подграф G2 графа G. Положим i=2.

2) Если i=n(G), то задача решена и Gi – искомое минимальное ост. дерево графа G. Иначе переходим к шагу 3).

3) Строим граф Gi+1, добавляя к графу Gi новое ребро минимальной длины из оставшихся, которое инцидентно какой-нибудь верш. графа Gi и одновременно вершине, не содержащейся в Gi. Вместе с этим ребром включаем в Gi+1 и эту инцидентную ему верш. Присваиваем i:=i+1 и переходим к шагу 2).

39. Алгоритм Краскала

Алгоритм построения минимального остовного дерева взвешенного связного неориентированного графа. Вначале текущее множество рёбер устанавливается пустым. Затем, пока это возможно, проводится следующая операция: из всех рёбер, добавление которых к уже имеющемуся множеству не вызовет появление в нём цикла, выбирается ребро минимального веса и добавляется к уже имеющемуся множеству. Когда таких рёбер больше нет, алгоритм завершён. Подграф данного графа, содержащий все его вершины и найденное множество рёбер, является его остовным деревом минимального веса.