1. Напишите программу, которая для произвольного двудольного графа определяет максимальное паросочетание. На экран вывести исходный граф и списки пар вершин, которые составляют максимальное паросочетание.
2. Напишите программу, которая с помощью алгоритма поиска в глубину находит множество фундаментальных циклов связанного неориентированного графа, заданного списками смежности. После завершения работы с динамическими структурами данных необходимо освободить занимаемую ими память.
3. Поиск подстрок. Реализация алгоритма Рабина-Карпа.
4. Напишите программу, которая для произвольного двудольного графа определяет максимальное паросочетание методом Хопкрофта-Карпа. На экран вывести исходный граф и списки пар вершин, которые составляют максимальное паросочетание.
5. Напишите программу, которая будет находить эйлеров цикл в графе, не содержащий вершин нечетной степени. Предполагается, что граф задан списками смежности. После завершения работы с динамическими структурами данных необходимо освободить занимаемую ими память.
6. Поиск подстрок. Реализация алгоритма Кнутта-Мориса-Пратта.
Обязательные требования:
Реализация алгоритма + пример работоспособности. Краткие комментарии к коду. Язык C#