Преобразование графа в остовное связанное дерево...
DESCRIPTION
Преобразование графа в остовное связанное дерево минимального веса. Алгоритм Крускала. Задача. Даны города , часть которых соединен а между собой дорогами. Необходимо проложить маршрут минимальной длины , проходящий через все города. Формализованная модель. Граф G(V,R). 2. 1. 3. 5. 8. - PowerPoint PPT PresentationTRANSCRIPT
Преобразование графа в остовное связанное дерево минимального
веса.
Алгоритм Крускала
Задача.
Даны города, часть которых соединена между собой дорогами. Необходимо проложить маршрут минимальной длины, проходящий через все города.
Формализованная модель. Граф G(V,R)
1 2
3
45
6
7
8
Понятие цикломатического числа
,1 nm
.,
вершинколичествоnреберколичествоmгде
Цикломатическое число G(8,11)
41811 1 2
3
45
6
7
8
Примеры возможного остовного связанного дерева.
1 2
3
45
67
8
21
3
45
67
8
Исходные данные
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Матрица смежности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
Алгоритм Крускала. Шаг 1.
Раскрасить все вершины в разные цвета. Для этого создадим массив С(8).
С(1) С(2) С(3) С(4) С(5) С(6) С(7) С(8)1 2 3 4 5 6 7 8
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.
В матрице смежности найти самое короткое неиспользованное ребро (минимального веса).
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.
Проверяем, можно ли использовать это ребро (вершины должны быть разного цвета).
Алгоритм Крускала. Шаг 4.
Добавляем вес найденного ребра к весу остового дерева и перекрашиваем вершины в один цвет (меньший по номеру).
Вернуться к шагу №2.
С(1) С(2) С(3) С(4) С(5) С(6) С(7) С(8)1 2 1 4 5 6 7 8
Алгоритм на графе. Шаг 1.
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
minW=0
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 2.
Шаг 3.
+
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 4.
minW=12
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 2.
-
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 2.
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 3.
+20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 4.
minW=28
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 2.
-
-20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 2.
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 3.
+
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 4.
minW=46
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 2.
-
--
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 2.
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 3.
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
+
Шаг 4.
minW=66
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 2.
-
--
-20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 2.
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 3.
+
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 4.
minW=88
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 2.
-
--
-
-
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 2.
20
12
2325
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 3.+
20
12
2325
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 4.
minW=111
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 2.
-
--
-
-
-
-20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 2.
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 3.
+20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Шаг 4.
minW=134
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8
Задача решена.
minW=134
20
12
23
25
18
23
24
16
22
25
23
1 2
3
4
5
6
7
8