Деревья
1) Найдите минимальное остовное дерево для графа из задания II.2
2) Используя алгоритм поиска минимального остовного дерева, найдите сеть дорог минимальной общей длины, связывающую вершины графа из задания II.2.
Решение
Построим минимальное остовное дерево алгоритмом Прима.
Построение начинается с дерева, включающего в себя одну (произвольную) вершину. На каждом шаге алгоритма к текущему дереву присоединяется самое лёгкое из рёбер, соединяющих вершину из построенного дерева и вершину не из дерева. Алгоритм прекращается тогда, когда все вершины будут добавлены.
В качестве стартовой вершины выберем 1,а значит, множество выбранных вершин запишется как V={1}.
4
5
3
220 120
200 200
10
2
150
300
120
100 100
9
1
6
120
250
8
7
350 350
220
найдем самое легкое ребро инцедентное вершине и добавим его к дереву. Это ребро {1;2},остов преобразуется в V={1,2}. Длина пути S=100.
4
5
3
220 120
200 200
10
2
150300
120
100 100
9
1
6
120
250
8
7
350 350
220
Следующее ребро с минимальным весом это {10;2}, V={1,2,10}, S=100+120=220. Далее шаги будем записывать следующим образом- добавляемое ребро ( минимальное по весу) , и вес получившегося дерева.
4
5
3
220 120
200 200
10
2
150300
120
100 100
9
1
6
120
250
8
7
350 350
220
{10;9}, S=320
4
5
3
220 120
200 200
10
2
150300
120
100 100
9
1
6
120
250
8
7
350 350
220
4. {10;4},S=520
4
5
3
220 120
200 200
10
2
150300
120
100 100
9
1
6
120
250
8
7
350 350
220
5. {4;3}, S=640
4
5
3
220 120
200 200
10
2
150300
120
100 100
9
1
6
120
250
8
7
350 350
220
6. {9;6}, S=890
4
5
3
220 120
200 200
10
2
150300
120
100 100
9
1
6
120
250
8
7
350 350
220
7. {9;6}, S=890
4
5
3
220 120
200 200
10
2
150300
120
100 100
9
1
6
120
250
8
7
350 350
220
8. {6;5},S=1190
4
5
3
220 120
200 200
10
2
150300
120
100 100
9
1
6
120
250
8
7
350 350
220
9. {9;8}, S=1760
4
5
3
220 120
200 200
10
2
150300
120
100 100
9
1
6
120
250
8
7
350 350
220
10. {8;7},S=1980
Остов закончен, все вершины соединены.(Это построение не единственное, так как существует несколько вершин с одинаковыми весами.)
