0 / 0 / 0
Регистрация: 13.04.2015
Сообщений: 3
|
||||||
1 | ||||||
Нужен совет в реализации волнового алгоритма13.04.2015, 16:55. Показов 1100. Ответов 1
Метки нет Все метки)
(
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
13.04.2015, 16:55 | |
Ответы с готовыми решениями:
1
|
Модератор
![]() |
|
13.04.2015, 21:05 | 2 |
Закидаю ссылками
1. Wikipedia. 2. Algolist manual. 3. Wikibooks. 3. Мой вариант реализации. Смысл алгоритма такой: 1. Стартовую клетку записываем в "очередь". И помечаем её как рассмотренную (давая порядковый номер 2 - отличный от "стена" и "проход"). 2. Извлекаем следующий элемент (клетку) из очереди. И соседей которые не проверялись и не "стены" записываем в очередь. Помечаем соседей номерами, равными +1 к номеру клетки из очереди. 3. Выполняем пункт 2 до опустошения очереди. Теперь, если распечатать лабиринт - будут видны стены, а в местах проходов будут стоять числа, равные удалённости от стартовой клетки. И путь от начала к концу ищется в обратном направлении - становимся на конечную клетку, берём её номер, и среди соседей ищем номер на 1 меньший - записываем в стек. Для новой клетки повторяем поиск соседей. И так, до попадания в начальную клетку. Путь найден и сохранён в стеке. Извлекаем из стека и визуализуем. Это теория. Конкретно в твоей программе сложно разобраться, но, кажется, что не реализована очередь. Есть ещё другой вариант - поиск в глубину. Он рекурсивный. Менее оптимальный. Результат - не всегда кратчайший путь. Пример я приводил здесь, ошибочно назвав его bfs.
1
|
13.04.2015, 21:05 | |
Помогаю со студенческими работами здесь
2
Нужне совет по реализации алгоритма
Нужен совет по поводу реализации Нужен совет по реализации проекта на Woocommerce Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |