Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
элементы дискретной математики.doc
Скачиваний:
23
Добавлен:
05.09.2019
Размер:
2.19 Mб
Скачать

6.1.2. Алгоритм Прима

  1. Пометить все вершины графа G невыбранными. Выбрать произвольную вершину и пометить ее выбранной.

  2. Проверить, остались ли невыбранные вершины. Если да, то перейти к п.3, иначе – к п.6.

  3. Найти ребро u=(x, y) c минимальным весом между выбранной вершиной х и невыбранной вершиной у.

  4. Пометить вершину у как выбранную.

  5. Присоединить ребро u к дереву Т. Перейти к п.2.

  6. Конец алгоритма.

Пример. Дан взвешенный граф G (рис.6.3). На рисунке показан пошаговый процесс построения минимального остовного дерева по алгоритму Прима.

G 7 12

3 4 8 1 9

5 6

Т

1 .

3 3

5

Т

2. 7

3 4 3 4

5

7 Т

3.

3 4 8 3 4

6 6

Т

4 . 7

3 1

4 8 9 3 4 1

6 6

5.

12 Т

3 4 1 9 3 4 1 9

6 6

Рис. 6.3. Построение минимального остовного дерева по алгоритму

Прима.

Пунктиром обозначены ребра, не принадлежащие дереву Т. Они инцидентны невыбранным вершинам, среди которых на следующем шаге алгоритма ищется выбранная. В результате получится тот же граф, что и при работе по жадному алгоритму.

Алгоритм Прима принадлежит классу полиномиальных алгоритмов. Его асимптотическая оценка сложности F=O(m2) . Это означает, что при программной реализации алгоритма возможна обработка графов с числом ребер m до нескольких сотен.

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

6.2. Контрольные задания

Дан взвешенный граф G. Построить минимальные остовные деревья жадным алгоритмом и алгоритмом Прима.

В ариант 1

В ариант 2

В ариант 3

Вариант 4

В ариант 5

В ариант 6

В ариант 7

В ариант 8

В ариант 9

В ариант 10

Вариант 11

Вариант 12

Вариант 13

В ариант 14

Вариант 15

В

1

1

2

2

2

3

3

3

4

5

5

5

6

7

1

1

1

2

2

2

3

3

3

4

4

4

5

5

6

6

7

8

ариант 16

Вариант 17

4

Вариант 18

Вариант 19

Вариант 20

2

3

4

Вариант 21

Вариант 22

Вариант 23

В ариант 24

Вариант 25

В ариант 26

В ариант 27

Вариант 28

Вариант 29

Вариант 30