Мы рассмотрим наиболее популярный, интересный и полезный алгоритм теории графов: Поиск кратчайшего пути в графе. В основе идеи лежит принцип динамического программирования.
В качестве графа у нас будет Лабиринт, мы будем в нём искать кратчайший путь из одной клетки в другую.
Чему научился:
С помощью динамического программирования находить кратчайший путь в графе, применению очереди Queue() на практике.
Что было сложным:
Много времени ушло на переход от очереди к массиву. В итоге смог реализовать алгоритм поиска пути через массив с последующим выводом в другом цвете предварительно сохранённых структур . Однако кратчайший путь в графе окрасить пока не удалось (окрашиваются все элементы) - нужна реализация алгоритма поиска данного пути (на примере урока "Волны в шариках" с которым я пока не знаком).
Комментарии:
Впечатления урок оставил яркие. Многократно прогонял пошагово некоторые части кода - помогло прояснить работу алгоритма.
Научился: Научился применять очереди C#, написал нахождение длины пути в лабиринте и его демонстрацию от старта к финишу, используя динамический алгоритм поиска в ширину. Трудности: Сложностей не возникло. Результатами доволен =_)