Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович
Сборник программ на C#
Вебинар «Продолжение игры Xonix на Java» начнётся через 11 час. 45 мин.

Шарики / Шарики. Поиск пути

  • Реализация самого сложного алгоритма:
    поиск кратчайшего пути для перемещения шарика.
  • Дата отправки отчёта: 31 января 2015 г.
  • Задание выполнено: за 1 час. 00 мин.
  • Чему научился:
  • Что было сложным: Понять всё с первого раза.
  • Комментарии: нет замечаний
  • Оценка видео-уроку:
Отчёт от 3397 за Шарики / Шарики. Поиск пути




Оцени работу

 
Сохранить страницу:

  • Отчёт оценивали:
    3702Saimon+1  

Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: Потренировался в понимании алгоритма
Трудности: Особо сложного ничего не было, но было интересно разобраться с алгоритмом поиска пути.
При прохождении через маленькие шарики, они затираются. Наверное в след. уроках это будет исправлено.
Научился: Научился использовать алгоритм "Волна" для нахождения кратчайшего пути для перемещения шарика.
Трудности: Увы, не все было понятно. Пока довольно сложно для меня. В середине ошибся в написании одного условия. Пришлось много времени потратить на поиск ошибки.
Хотел бы поделиться с курсантами записью алгоритм "Волна " в псевдокоде (взял из Википедии). Может быть, это кому-то поможет лучше понять этот алгоритм. Инициализация Пометить стартовую ячейку 0 d := 0 Распространение волны ЦИКЛ ДЛЯ каждой ячейки loc, помеченной числом d пометить все соседние свободные непомеченные ячейки числом d + 1 КЦ d := d + 1 ПОКА (финишная ячейка не помечена) И (есть возможность распространения волны) Восстановление пути ЕСЛИ финишная ячейка помечена ТО перейти в финишную ячейку ЦИКЛ выбрать среди соседних ячейку, помеченную числом на 1 меньше числа в текущей ячейке перейти в выбранную ячейку и добавить её к пути ПОКА текущая ячейка — не стартовая ВОЗВРАТ путь найден ИНАЧЕ ВОЗВРАТ путь не найден