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

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Сокобан / Сокобан - Решалка - Оптимизация

  • На этом коротком уроке мы рассмотрим два способа оптимизации нашей программы, в результате которых работать она станет просто молниеносно!!!
  • Дата отправки отчёта: 12 января 2016 г.
  • Задание выполнено: за 35 мин.
  • Чему научился: Оптимизировать алгоритм поиска траектории движения для игры Сокобан.
  • Что было сложным: Сложностей не было.
  • Комментарии: Да, результат впечатляет, хорошая оптимизация поиска. На первом скриншоте представлен результат работы алгоритма с использованием List<>. На втором скриншоте - результат работы оптимизированного алгоритма, с использованием четырехмерного массива. В первом случае время решения 69 мс, во втором - 4 мс.
  • Оценка видео-уроку:
Отчёт от 7276 за Сокобан / Сокобан - Решалка - Оптимизация


Отчёт от 7276 за Сокобан / Сокобан - Решалка - Оптимизация




Оцени работу

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

24. --
Олюшка
Олюшка
ответить
→  Ильшат  # Игра Сокобан / Сокобан - Решалка - Оптимизация / 2016-01-12 19:09

Ильшат, восхитительно, очень рада что все у тебя отлично вышло! :)


7276. --
Ильшат
Ильшат
ответить
→  Олюшка  # Игра Сокобан / Сокобан - Решалка - Оптимизация / 2016-01-13 22:23

Спасибо, Оля, результат оптимизации впечатляет)



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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.


Научился: Теперь мне думается, что коллекции не так эффективны ..... как хотелось бы. Хитрый получился массив :) Классно придумано :)
Трудности: Понять, что наши координаты - это номера индексов у массива :) Изначально думается: "Ну как булевский массив может хранить координаты?" ))))
А вообще странно ... поиск по индексам, по идее, должен быть такой же моментальный, как и мы обращаемся к массиву напрямую....


Научился: Использовать 4-мерные массивы, он представляет собой перечень комбинаций положений мышки и яблока относительно друг друга (x, y),a мы не перебираем все варианты (как было до этого со списком List и Dictionary)
При использовании Dictionary было 12000 мс. После применения массива время уменьшилось до 7-11 мс.