Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение

A* pathfinding на C#: двоичные кучи и борьба с аллокациями

Время на прочтение20 мин
Количество просмотров16K
Сегодня мы разбираем один из популярнейших алгоритмов поиска пути. Работать будем с двумерным массивом целочисленных координат.

Сначала кратко ознакомимся с методами обхода графов, напишем собственно поиск пути, а затем перейдём к самому вкусному: оптимизации быстродействия и затрат по памяти. В идеале следует разработать реализацию, вообще не генерирующую мусор при использовании.

Я был изумлен, когда поверхностный поиск не выдал мне ни одной качественной реализации алгоритма A* на C# без использования сторонних библиотек (это не значит, что их нет). А значит самое время размять пальцы!

Жду читателя, который хочет разобраться в работе алгоритмов поиска пути, как и знатоков алгоритмов для ознакомления с реализацией и способами её оптимизации.

Приступим!
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии15

Как не врать с помощью статистики: основы визуализации данных

Время на прочтение6 мин
Количество просмотров23K


Не раз слышал мнение, что задача аналитиков — показать откровенно «грустные» цифры таким образом, будто всё идет по плану. Возможно, где-то так и происходит, но в геймдеве всё наоборот. Нам надо представить максимально объективные данные, чтобы в проекте принимались правильные решения. И сделать так, чтобы эти данные были поняты.

Часто это сложнее, чем привирать с помощью красивых графиков.

Поэтому я собрал несколько базовых принципов визуализации, которые применяю в работе (список источников в конце). Пригодится, если вы пишете отчеты, готовитесь к презентации или просто хотите донести смысл каких-то цифр. Главное: чтобы сделать хороший график, не нужно быть талантливым художником или виртуозно владеть matplotlib/ggplot2. Поехали.
Читать дальше →
Всего голосов 48: ↑45 и ↓3+42
Комментарии18

SpaceX: запуск Falcon Heavy и посадка трех ускорителей, двух из них — одновременно [01:35МСК, 12 апр 2019]

Время на прочтение2 мин
Количество просмотров31K
image
Изображение твиттер SpaceX


Прямая трансляция запуска c отличной музыкой

UPD Запуск должен был состояться в 00:32 МСК, но был отложен на 2.5 часа.
Запуск перенесен на День Космонавтики, 12 апреля 01:35 по МСК из-за сильных ветров в верхних слоях тропосферы, которые были зарегистрированы во время предыдущего стартового окна 11 апреля по Москве.

UPD2 Сообщают, что для сегодняшнего запуска все складывается благоприятно:



UPD3 Запуск прошел успешно! SpaceX осуществил первую в мире успешную тройную посадку ускорителей первой ступени во время первого коммерческого запуска ракеты Falcon Heavy сегодня (в ночь 11-12 апреля ), и вы смогли увидеть все в режиме онлайн.
Всего голосов 70: ↑65 и ↓5+60
Комментарии116

Размеры CLR-объектов. Точное определение

Время на прочтение5 мин
Количество просмотров29K
Думаю, многим разработчикам на управляемом коде всегда интересовало: сколько же байт занимает экземпляр объекта? А каков лимит размера одного объекта в CLR? Существуют ли различия в выделении памяти между 32-битными и 64-битными системами? Если данные вопросы для Вас не пустой звук, тогда прошу под кат.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии26

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность