- •Введение
- •1. Алгоритмы сортировки
- •1.1. Общие положения
- •1.2. Сортировка простыми включениями
- •Словесное описание алгоритма
- •1.3. Сортировка простым выбором
- •1.4. Сортировка простым обменом
- •1.5. Задания для самостоятельной работы
- •2. Алгоритмы покрытия
- •2.1. Постановка задачи покрытия
- •2. 2. Алгоритм полного перебора
- •2. 3. Алгоритм граничного перебора по вогнутому множеству
- •2.4. Алгоритмы, использующие сокращение таблицы покрытий
- •1. Для случая построения одного кратчайшего покрытия
- •2. В случае построения минимального покрытия
- •3. При условии построения всех безызбыточных покрытий
- •2.5. Алгоритм приближенного решения задачи о покрытии
- •2.6. Задачи для самостоятельной работы
- •3. Алгоритмы на графах
- •3.1. Общие положения
- •3.2. Алгоритмы нахождения оптимального пути
- •Волновой алгоритм построения кратчайшего пути для взвешенного графа
- •Волновой алгоритм построения длиннейшего пути во взвешенном графе
- •3.3. Нахождение компонент связности
- •Алгоритм построения компонент связности в неориентированном графе
- •Пример 3.5
- •3.4. Алгоритмы нахождения подграфов
- •3.5. Дерево. Остов
- •Пример 3.7.
- •Алгоритм построения произвольного остова
- •Алгоритм построения минимального остова
- •Алгоритм построения системы независимых циклов графа
- •Пример 3.12.
- •3.6. Алгоритм кратчайшей раскраски графа
- •3.7. Задачи для самостоятельной работы
- •4. Конечные автоматы
- •4.1. Общие положения
- •4.2. Представление автомата
- •4.3. Взаимные преобразования автоматов
- •4.4. Определение реакции автомата на входное слово
- •4.5. Задания для самостоятельной работы
- •5. Машины тьюринга
- •5.1. Общие положения
- •5.2. Операции над машинами Тьюринга
- •6. Структуры данных
- •6.1. Списки
- •6.2. Двусвязный список
- •6.3. Кольцевой список
- •6.4. Стек
- •6.5. Очередь
- •6.6. Задания для самостоятельной работы
- •Литература
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. Произвести раскраску графа из предыдущего задания.