На этом коротком уроке мы рассмотрим два способа оптимизации нашей программы, в результате которых работать она станет просто молниеносно!!!
Дата отправки отчёта:
19 декабря 2016 г.
Задание выполнено: за
2 час. 00 мин.
Чему научился:
Повторил пройденное
Что было сложным:
найти время
Комментарии:
Изначально я переписал уровень 32х32 с видео, повторил его символ в символ, чтобы проверить скорость на нём, но это было так долго, что я просто не дождался и взял один из своих уровней, модифицировал его и оставил только 1 ящик и 1 место куда его поставить надо, результаты на скриншоте и они внушительны (4 метода, Dictionary по скорости почти как HashSet).
Научился: Теперь мне думается, что коллекции не так эффективны ..... как хотелось бы.
Хитрый получился массив :) Классно придумано :) Трудности: Понять, что наши координаты - это номера индексов у массива :)
Изначально думается: "Ну как булевский массив может хранить координаты?" )))) А вообще странно ... поиск по индексам, по идее, должен быть такой же моментальный, как и мы обращаемся к массиву напрямую....
Научился: Использовать 4-мерные массивы, он представляет собой перечень комбинаций положений мышки и яблока относительно друг друга (x, y),a
мы не перебираем все варианты (как было до этого со списком List и Dictionary)
При использовании Dictionary было 12000 мс. После применения массива время уменьшилось до 7-11 мс.