
- •3. Алгоритмы на графах
- •3.1. Общие положения
- •3.2. Алгоритмы нахождения оптимального пути
- •Волновой алгоритм построения кратчайшего пути для взвешенного графа.
- •1. Результаты прямого прохода алгоритма приведены в табл. 3.4.
- •2. Обратный ход:
- •3.3. Нахождение компонент связности
- •Пример 3.5
- •3.4. Алгоритмы нахождения подграфов
- •3.5. Дерево. Остов
- •Пример 3.7
- •3.5.3. Алгоритм построения системы независимых циклов графа
- •Пример 3.12
- •3.6. Алгоритм кратчайшей раскраски графа
- •3.7. Задачи для самостоятельной работы
3.7. Задачи для самостоятельной работы
Для всех задач граф задан матрицей смежности.
3.7.1. Определить кратчайший путь во взвешенном графе с помощью волнового алгоритма (элемент матрицы - вес соответствующей дуги).
1 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
|
2 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x1 |
|
2 |
3 |
5 |
|
|
4 |
|
|
x1 |
|
3 |
3 |
2 |
|
|
5 |
|
x2 |
|
|
|
|
2 |
|
1 |
|
|
x2 |
|
|
|
|
4 |
|
2 |
|
x3 |
|
|
|
|
3 |
4 |
|
|
|
x3 |
|
|
|
|
1 |
5 |
|
|
x4 |
|
|
|
|
|
4 |
2 |
|
|
x4 |
|
|
|
|
|
1 |
5 |
|
x5 |
|
|
|
|
|
|
|
6 |
|
x5 |
|
|
|
|
|
|
|
4 |
x6 |
|
|
|
|
|
|
|
4 |
|
x6 |
|
|
|
|
|
|
|
2 |
x7 |
|
|
|
|
|
|
|
4 |
|
x7 |
|
|
|
|
|
|
|
5 |
x8 |
|
|
|
|
|
|
|
|
|
x8 |
|
|
|
|
|
|
|
|
3 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
|
4 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x1 |
|
2 |
3 |
3 |
|
|
4 |
|
|
x1 |
|
4 |
4 |
3 |
|
|
2 |
|
x2 |
|
|
|
|
3 |
|
4 |
|
|
x2 |
|
|
|
|
2 |
|
2 |
|
x3 |
|
|
|
|
2 |
3 |
|
|
|
x3 |
|
|
|
|
3 |
1 |
|
|
x4 |
|
|
|
|
|
1 |
3 |
|
|
x4 |
|
|
|
|
|
4 |
2 |
|
x5 |
|
|
|
|
|
|
|
3 |
|
x5 |
|
|
|
|
|
|
|
5 |
x6 |
|
|
|
|
|
|
|
2 |
|
x6 |
|
|
|
|
|
|
|
3 |
x7 |
|
|
|
|
|
|
|
5 |
|
x7 |
|
|
|
|
|
|
|
4 |
x8 |
|
|
|
|
|
|
|
|
|
x8 |
|
|
|
|
|
|
|
|
5 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
|
6 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x1 |
|
3 |
4 |
2 |
|
|
5 |
|
|
x1 |
|
4 |
3 |
3 |
|
|
2 |
|
x2 |
|
|
|
|
1 |
|
2 |
|
|
x2 |
|
|
|
|
2 |
|
5 |
|
x3 |
|
|
|
|
4 |
3 |
|
|
|
x3 |
|
|
|
|
2 |
2 |
|
|
x4 |
|
|
|
|
|
3 |
4 |
|
|
x4 |
|
|
|
|
|
2 |
4 |
|
x5 |
|
|
|
|
|
|
|
6 |
|
x5 |
|
|
|
|
|
|
|
5 |
x6 |
|
|
|
|
|
|
|
3 |
|
x6 |
|
|
|
|
|
|
|
4 |
x7 |
|
|
|
|
|
|
|
5 |
|
x7 |
|
|
|
|
|
|
|
2 |
x8 |
|
|
|
|
|
|
|
|
|
x8 |
|
|
|
|
|
|
|
|
3.7.2. Найти компоненты связности графа.
1 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
|
2 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x1 |
|
1 |
|
1 |
1 |
|
|
|
|
x1 |
|
|
|
1 |
1 |
|
|
|
x2 |
|
|
1 |
|
|
|
1 |
|
|
x2 |
|
|
1 |
1 |
|
|
|
|
x3 |
|
1 |
|
|
|
|
1 |
|
|
x3 |
|
|
|
|
|
1 |
1 |
1 |
x4 |
|
|
|
|
1 |
|
|
|
|
x4 |
|
|
|
|
1 |
1 |
|
|
x5 |
|
|
|
|
|
|
|
1 |
|
x5 |
1 |
|
|
|
|
|
|
|
x6 |
|
|
1 |
|
|
|
1 |
|
|
x6 |
|
|
1 |
|
|
|
1 |
|
x7 |
|
|
|
|
|
1 |
|
|
|
x7 |
|
|
|
|
|
1 |
|
|
x8 |
|
|
|
1 |
1 |
|
1 |
|
|
x8 |
|
|
|
|
|
|
1 |
|
3 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
|
4 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x1 |
|
|
1 |
|
|
1 |
|
|
|
x1 |
|
|
1 |
|
|
|
1 |
|
x2 |
|
|
|
|
|
|
1 |
|
|
x2 |
1 |
|
|
1 |
|
|
|
|
x3 |
1 |
|
|
|
|
1 |
|
|
|
x3 |
1 |
|
|
|
1 |
|
|
|
x4 |
|
|
1 |
|
|
1 |
|
|
|
x4 |
|
|
|
|
|
1 |
|
1 |
x5 |
|
|
|
|
|
|
1 |
|
|
x5 |
1 |
|
|
|
|
1 |
1 |
1 |
x6 |
|
1 |
|
1 |
1 |
|
|
|
|
x6 |
|
|
|
|
|
|
|
1 |
x7 |
|
1 |
|
|
|
|
|
1 |
|
x7 |
1 |
|
|
|
|
|
|
|
x8 |
|
1 |
|
|
|
|
|
|
|
x8 |
|
|
|
1 |
|
|
|
|
5 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
|
6 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x1 |
|
1 |
|
|
|
|
1 |
|
|
x1 |
|
|
1 |
|
|
1 |
|
|
x2 |
|
|
1 |
|
|
1 |
1 |
|
|
x2 |
|
|
|
1 |
1 |
|
|
1 |
x3 |
|
|
|
1 |
|
1 |
|
|
|
x3 |
1 |
|
|
|
|
|
1 |
|
x4 |
|
1 |
|
|
|
1 |
|
|
|
x4 |
|
|
|
|
|
1 |
1 |
|
x5 |
|
|
|
|
|
|
|
1 |
|
x5 |
|
|
|
1 |
|
|
|
1 |
x6 |
|
|
1 |
1 |
|
|
|
|
|
x6 |
|
|
1 |
|
|
|
1 |
|
x7 |
|
|
|
|
1 |
|
|
1 |
|
x7 |
|
|
|
|
|
1 |
|
|
x8 |
|
|
|
|
|
|
1 |
|
|
x8 |
|
1 |
|
|
|
|
|
|
3.7.3. Найти систему независимых циклов графа.
1 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
|
2 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x1 |
|
1 |
1 |
|
|
|
|
1 |
|
x1 |
|
1 |
1 |
1 |
|
|
|
|
x2 |
1 |
|
|
|
1 |
|
|
|
|
x2 |
1 |
|
1 |
|
1 |
|
|
|
x3 |
1 |
|
|
1 |
1 |
1 |
1 |
1 |
|
x3 |
1 |
1 |
|
|
1 |
|
1 |
|
x4 |
|
|
1 |
|
1 |
|
|
|
|
x4 |
1 |
|
|
|
|
1 |
|
|
x5 |
|
1 |
1 |
1 |
|
|
1 |
|
|
x5 |
|
1 |
1 |
|
|
1 |
1 |
|
x6 |
|
|
1 |
|
|
|
1 |
|
|
x6 |
|
|
|
1 |
1 |
|
|
1 |
x7 |
|
|
1 |
|
1 |
1 |
|
|
|
x7 |
|
|
1 |
|
1 |
|
|
1 |
x8 |
1 |
|
1 |
|
|
|
|
|
|
x8 |
|
|
|
|
|
1 |
1 |
|
3 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
|
4 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x1 |
|
|
1 |
1 |
|
1 |
|
|
|
x1 |
|
1 |
|
1 |
1 |
|
|
|
x2 |
|
|
|
|
1 |
|
|
1 |
|
x2 |
1 |
|
1 |
|
|
|
|
|
x3 |
1 |
|
|
|
1 |
|
1 |
|
|
x3 |
|
1 |
|
|
|
1 |
1 |
1 |
x4 |
1 |
|
|
|
1 |
|
|
|
|
x4 |
1 |
|
|
|
1 |
1 |
|
|
x5 |
|
1 |
1 |
1 |
|
1 |
1 |
|
|
x5 |
1 |
|
|
1 |
|
1 |
1 |
1 |
x6 |
1 |
|
|
|
1 |
|
1 |
1 |
|
x6 |
|
|
1 |
1 |
1 |
|
|
|
x7 |
|
|
1 |
|
1 |
1 |
|
|
|
x7 |
|
|
1 |
|
1 |
|
|
|
x8 |
|
1 |
|
|
|
1 |
|
|
|
x8 |
|
|
1 |
|
1 |
|
|
|
5 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
|
6 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x1 |
|
1 |
1 |
1 |
|
|
|
|
|
x1 |
|
1 |
1 |
|
1 |
1 |
|
|
x2 |
1 |
|
|
|
1 |
1 |
|
|
|
x2 |
1 |
|
1 |
|
|
|
|
|
x3 |
1 |
|
|
|
1 |
1 |
1 |
|
|
x3 |
1 |
1 |
|
1 |
|
|
1 |
|
x4 |
1 |
|
|
|
1 |
|
1 |
|
|
x4 |
|
|
1 |
|
1 |
|
|
|
x5 |
|
1 |
1 |
1 |
|
|
|
1 |
|
x5 |
1 |
|
|
1 |
|
1 |
1 |
1 |
x6 |
|
1 |
1 |
|
|
|
|
1 |
|
x6 |
1 |
|
|
|
1 |
|
|
1 |
x7 |
|
|
1 |
1 |
|
|
|
|
|
x7 |
|
|
1 |
|
1 |
|
|
|
х8 |
|
|
|
|
1 |
1 |
|
|
|
x8 |
|
|
|
|
1 |
1 |
|
|
4. Произвести раскраску графа из предыдущего задания.