![Page 1: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/1.jpg)
Преобразование графа в остовное связанное дерево минимального
веса.
Алгоритм Крускала
![Page 2: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/2.jpg)
Задача.
Даны города, часть которых соединена между собой дорогами. Необходимо проложить маршрут минимальной длины, проходящий через все города.
![Page 3: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/3.jpg)
Формализованная модель. Граф G(V,R)
1 2
3
45
6
7
8
![Page 4: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/4.jpg)
Понятие цикломатического числа
,1 nm
.,
вершинколичествоnреберколичествоmгде
![Page 5: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/5.jpg)
Цикломатическое число G(8,11)
41811 1 2
3
45
6
7
8
![Page 6: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/6.jpg)
Примеры возможного остовного связанного дерева.
1 2
3
45
67
8
21
3
45
67
8
![Page 7: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/7.jpg)
Исходные данные
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 8: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/8.jpg)
Матрица смежности1 2 3 4 5 6 7 8
1 0 23 12 10000 10000 10000 10000 10000
2 23 0 25 10000 22 10000 10000 35
3 12 25 0 18 10000 10000 10000 10000
4 10000 10000 18 0 10000 20 10000 10000
5 10000 22 10000 10000 0 23 14 10000
6 10000 10000 10000 20 23 0 24 10000
7 10000 10000 10000 10000 14 24 0 16
8 10000 35 10000 10000 10000 10000 16 0
![Page 9: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/9.jpg)
Алгоритм Крускала. Шаг 1.
Раскрасить все вершины в разные цвета. Для этого создадим массив С(8).
С(1) С(2) С(3) С(4) С(5) С(6) С(7) С(8)1 2 3 4 5 6 7 8
![Page 10: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/10.jpg)
1 2 3 4 5 6 7 81 0 23 12 10000 10000 10000 10000 10000
2 23 0 25 10000 22 10000 10000 35
3 12 25 0 18 10000 10000 10000 10000
4 10000 10000 18 0 10000 20 10000 10000
5 10000 22 10000 10000 0 23 14 10000
6 10000 10000 10000 20 23 0 24 10000
7 10000 10000 10000 10000 23 24 0 16
8 10000 35 10000 10000 10000 10000 16 0
Алгоритм Крускала. Шаг 2.
В матрице смежности найти самое короткое неиспользованное ребро (минимального веса).
![Page 11: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/11.jpg)
1 2 3 4 5 6 7 81 0 23 12 10000 10000 10000 10000 10000
2 23 0 25 10000 22 10000 10000 35
3 12 25 0 18 10000 10000 10000 10000
4 10000 10000 18 0 10000 20 10000 10000
5 10000 22 10000 10000 0 23 14 10000
6 10000 10000 10000 20 23 0 24 10000
7 10000 10000 10000 10000 23 24 0 16
8 10000 35 10000 10000 10000 10000 16 0
Алгоритм Крускала. Шаг 3.
Проверяем, можно ли использовать это ребро (вершины должны быть разного цвета).
![Page 12: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/12.jpg)
Алгоритм Крускала. Шаг 4.
Добавляем вес найденного ребра к весу остового дерева и перекрашиваем вершины в один цвет (меньший по номеру).
Вернуться к шагу №2.
С(1) С(2) С(3) С(4) С(5) С(6) С(7) С(8)1 2 1 4 5 6 7 8
![Page 13: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/13.jpg)
Алгоритм на графе. Шаг 1.
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
minW=0
![Page 14: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/14.jpg)
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 2.
![Page 15: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/15.jpg)
Шаг 3.
+
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 16: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/16.jpg)
Шаг 4.
minW=12
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 17: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/17.jpg)
Шаг 2.
-
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 18: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/18.jpg)
Шаг 2.
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 19: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/19.jpg)
Шаг 3.
+20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 20: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/20.jpg)
Шаг 4.
minW=28
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 21: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/21.jpg)
Шаг 2.
-
-20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 22: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/22.jpg)
Шаг 2.
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 23: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/23.jpg)
Шаг 3.
+
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 24: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/24.jpg)
Шаг 4.
minW=46
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 25: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/25.jpg)
Шаг 2.
-
--
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 26: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/26.jpg)
Шаг 2.
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 27: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/27.jpg)
Шаг 3.
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
+
![Page 28: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/28.jpg)
Шаг 4.
minW=66
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 29: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/29.jpg)
Шаг 2.
-
--
-20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 30: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/30.jpg)
Шаг 2.
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 31: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/31.jpg)
Шаг 3.
+
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 32: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/32.jpg)
Шаг 4.
minW=88
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 33: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/33.jpg)
Шаг 2.
-
--
-
-
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 34: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/34.jpg)
Шаг 2.
20
12
2325
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 35: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/35.jpg)
Шаг 3.+
20
12
2325
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 36: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/36.jpg)
Шаг 4.
minW=111
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 37: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/37.jpg)
Шаг 2.
-
--
-
-
-
-20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 38: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/38.jpg)
Шаг 2.
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 39: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/39.jpg)
Шаг 3.
+20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 40: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/40.jpg)
Шаг 4.
minW=134
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
![Page 41: Преобразование графа в остовное связанное дерево минимального веса](https://reader033.vdocuments.net/reader033/viewer/2022042523/56814a50550346895db7727b/html5/thumbnails/41.jpg)
Задача решена.
minW=134
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8