Связный список в Swift

Сегодня мы поговорим, что такое связный список, что делает его таким особенным, как он работает, чем он отличается от обычного массива (о котором я подробно писал в прошлой статье), и попутно мы увидим, как связные списки хороши для решения определенно…

Алгоритм поиска «одинаковых» геометрий

Привет! Меня зовут Мацкевич Евгений, я бекэнд-разработчик 3D-движка компании «Бимейстер». Хоть это и не очевидно на первый взгляд, но элементы загружаемых пользователями 3D-моделей зачастую повторяются, имея при этом различные положение в пространстве,…

Как найти часть суши, окруженную водой

Уже очень давно создана и работает программа, отображающая космонавтам движение МКС на карте земной поверхности.МКС, конечно, двигается вовсе не по земной поверхности, а по орбите. Но если соединить станцию и центр Земли прямой, то точка пересечения эт…

Итоги года Smart Engines: 65 научных работ и выручка свыше 400 млн рублей

Ушедший 2022 год стал для многих компаний в некотором смысле испытанием: после успешной «перестройки» бизнес-процессов, спровоцированной COVID-19, пришлось экстренно адаптироваться к новой реальности. Несмотря на возникшую турбулентность, мы в Smart En…

Горячие следы на тернистом пути

Пост адресован в первую очередь тем, кто только собирается пройти алгоритмическое собеседование или проходил неудачно. Остальных прошу извинить за вероятно неуместный наставительный и поучительный тон.Где я?В прошедшие две недели успешно прошёл секции …

Wave Function Collapse для процедурной генерации в Unity

Wave Function Collapse – это алгоритм, c помощью которого можно реализовать генерацию чего угодно, что можно было бы описать с помощью правил или конкретным примером. В этой статье мы рассмотрим, как использовать WFC для генерации карты в Unity. Читать…

Dynamic Programming, или как использовать предыдущий computation-опыт

Меня зовут Аят, я Android-инженер команды антифрода в inDrive. Эта статья не связана с продукционной разработкой, но будет касаться программирования. Я расскажу о Dynamic Programming (DP) и о том, как эффективно использовать предыдущий computation-опыт…

[Перевод] Алгоритм внешней сортировки слиянием

На сегодняшний день сортировка является очень важной частью в любой системе баз данных. Речь идет о расположении данных в порядке возрастания или убывания. Мы используем сортировку для генерации последовательного вывода, а также для выполнения условий …

Задача коммивояжера (TSP) точное решение — метод целочисленного линейного программирования (Integer programming)

Дочитав эту статью до конца, вы сможете решать точно задачу коммивояжёра на сотню элементов за считанные секунды! Заинтригованы? Тогда, добро пожаловать под кат. Читать далее…