- •Введение
- •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. При условии построения всех безызбыточных покрытий
В этом случае п.4 не выполняется – нельзя вычеркивать никакие поглощаемые строки.
2.5. Алгоритм приближенного решения задачи о покрытии
Покрытие, близкое к кратчайшему, даёт следующий алгоритм преобразования ТП; основанный на методе “минимальный столбец – максимальная строка”.
0. Исходная таблица считается текущей преобразуемой ТП, множество строк покрытий – пусто;
В текущей таблице выделяется столбец с наименьшим числом единиц. Среди строк, содержащих единицы в этом столбце, выделяется одна с наибольшим числом единиц. Эта строка включается в покрытие, текущая таблица сокращается вычеркиванием всех столбцов, в которых выбранная строка имеет единицу.
Если в таблице есть невычеркнутые столбцы, то выполняется п. 1, иначе – покрытие построено.
Примечание. При подсчёте числа единиц в строке учитываются единицы в невычеркнутых столбцах.
2.6. Задачи для самостоятельной работы
1. Сократить до циклического остатка (ЦО) заданную ТП с помощью теорем 2.3-2.7 с гарантией построения одного кратчайшего покрытия.
2. Для полученного в предыдущем пункте ЦО построить кратчайшие и минимальные покрытия методом граничного перебора (цены для каждой строки задаются преподавателем индивидуально).
3. Решить задачу о покрытии методом минимального столбца - максимальной строки.
4. Сравнить полученные решения и сделать выводы.
1 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
2 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
А |
|
1 |
|
|
|
|
1 |
1 |
|
|
А |
1 |
1 |
|
|
|
|
|
1 |
|
| |
Б |
1 |
|
|
1 |
|
|
|
|
|
|
Б |
|
|
|
|
1 |
|
1 |
1 |
|
| |
В |
|
|
|
|
|
1 |
|
|
1 |
|
В |
1 |
|
|
|
1 |
1 |
|
|
1 |
| |
Г |
|
1 |
1 |
|
|
|
|
|
1 |
1 |
Г |
|
1 |
|
1 |
|
|
|
|
|
| |
Д |
|
|
|
1 |
|
|
|
1 |
|
|
Д |
|
|
|
|
|
1 |
|
1 |
1 |
1 | |
Е |
1 |
|
|
|
|
1 |
|
|
|
1 |
Е |
|
|
1 |
|
|
|
1 |
|
|
1 | |
Ж |
|
|
1 |
|
1 |
|
|
|
1 |
|
Ж |
|
|
|
1 |
|
|
1 |
|
|
| |
З |
1 |
|
|
|
1 |
|
1 |
|
|
|
З |
|
|
1 |
|
|
1 |
|
|
|
|
3 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
4 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
А |
1 |
1 |
|
|
|
|
|
1 |
|
|
А |
1 |
|
|
1 |
|
|
|
|
|
| |
Б |
|
1 |
|
|
1 |
|
1 |
|
|
|
Б |
1 |
|
|
|
1 |
|
1 |
|
1 |
| |
В |
|
|
|
1 |
|
|
1 |
|
|
|
В |
|
|
|
1 |
1 |
1 |
|
|
|
| |
Г |
|
|
|
1 |
|
|
|
1 |
|
|
Г |
|
1 |
|
|
|
|
|
|
|
1 | |
Д |
|
1 |
|
|
|
1 |
|
|
1 |
1 |
Д |
|
|
1 |
|
|
1 |
|
1 |
|
| |
Е |
|
|
1 |
|
|
|
1 |
|
|
1 |
Е |
|
1 |
1 |
|
|
|
1 |
|
|
| |
Ж |
1 |
|
|
|
1 |
1 |
|
|
1 |
|
Ж |
1 |
|
|
|
|
|
|
1 |
1 |
| |
З |
|
|
1 |
|
|
1 |
|
|
|
|
З |
|
|
|
|
|
1 |
|
|
|
1 |
5 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
6 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
А |
|
|
|
|
|
1 |
1 |
1 |
|
|
А |
|
1 |
|
|
|
|
1 |
1 |
|
| |
Б |
1 |
|
1 |
|
1 |
|
|
|
1 |
|
Б |
1 |
|
|
|
|
1 |
|
|
|
1 | |
В |
|
|
|
1 |
1 |
1 |
|
|
|
|
В |
1 |
|
|
|
|
|
|
|
1 |
| |
Г |
|
1 |
|
|
|
|
|
|
|
1 |
Г |
|
1 |
1 |
|
|
|
|
|
1 |
1 | |
Д |
1 |
|
|
1 |
|
|
|
|
|
|
Д |
|
|
|
1 |
|
|
|
1 |
|
| |
Е |
|
1 |
1 |
|
|
|
1 |
|
|
|
Е |
|
|
|
1 |
|
1 |
|
|
|
| |
Ж |
1 |
|
|
|
|
|
|
1 |
1 |
|
Ж |
|
|
1 |
|
1 |
|
|
|
1 |
| |
З |
|
|
|
|
|
1 |
|
|
|
1 |
З |
|
|
|
|
1 |
1 |
1 |
|
|
|