Задача коммивояжёра — история и теория

Algo_Deep_17.12_site-5020-fa5048.png

Есть N городов, связанных дорогами. Как помочь коммивояжёру проложить наиболее короткий/выгодный/дешёвый маршрут между этими городами, чтобы посетить каждый город хотя бы по одному разу и вернуться в исходную точку?

В поисках идеального алгоритма сортировки

Algo_Deep_3.12_site-5020-d8bd68.png

Когда люди изучают алгоритмы сортировок, у них часто возникает вопрос: а существует ли идеальный алгоритм, который может сортировать всё за линейное время или даже быстрее — за константное? Ответ: не существует и не может существовать.

Ускоряем доступ к данным в хэш-таблице

Algo_Deep_23.11_site-5020-e50be1.png

Сначала разберёмся, что же такое хэш-таблица?

Это сложное слово состоит из двух слов: хэш и таблица. И слово «хэш», и слово «таблица» знакомы среднестатистическому пользователю компьютера по хэштегам в Твиттере и по электронным таблицам Excel и Google Spreadsheets.

Многопоточное программирование в Kotlin

Android_Deep_13.11_site-5020-7b3371.png

Корутины в Kotlin — одна из «больших фичей», как было сказано JetBrains. Мы все знаем, что блокировка при высоких нагрузках и частые опросы — не самые блестящие идеи, а мир становится всё более и более push-based и асинхронным.

Доверие и безопасность: как это влияет на работу в команде?

DevHead_Deep_26.11_site-5020-bf9ee0.png

Не каждый руководитель задумывается о том, есть ли в коллективе доверие и безопасность. А ведь эти понятия очень важны, если вы стремитесь создать атмосферу, способствующую плодотворной работе всей команды.

Несколько слов об эволюции Centralized Version Control System

DevOps_Deep_27.11_site-5020-2d2668.png

СVCS (Centralized Version Control System) — централизованные системы контроля версий, работа которых основана на том, что на сервере имеется одна центральная копия проекта, а программисты совершают свои изменения в этой центральной копии.

Подробнее о курсе «DevOps: практики и инструменты»

DevOps_Welcome_1000x700-5020-fc2332.jpg

Внутри современного IT-подразделения очень важно обеспечить взаимную интеграцию рабочих процессов между разработчиками, тестировщиками, специалистами по информационно-технологическому обслуживанию.