Популярные задачи для начинающих программистов, с которыми можно столкнуться в работе
Когда решаешь задачи для начинающих программистов, не всегда понятно, применяется ли такой код в реальной жизни. Рассказываем, что может быть полезно.
Статьи, посвященные алгоритмам и структурам данных.
Когда решаешь задачи для начинающих программистов, не всегда понятно, применяется ли такой код в реальной жизни. Рассказываем, что может быть полезно.
В книге охватывается основной спектр современных алгоритмов: сортировки, графовые алгоритмы, динамическое программирование и тому подобное.
Разбор примера, который показывает, как с помощью правильной структуры данных можно повысить производительность приложения.
Разработчик с опытом работы в Skyscanner, Uber и Skype рассказывает, где он нашёл практическое применение структурам данных и алгоритмам.
Разбираемся, зачем же нужны алгоритмы и в каких ситуациях знание уже реализованных вещей будет преимуществом.
Временная сложность алгоритма часто обозначается нотацией «О» большое. Разбираемся, что это и какова сложность операций над коллекциями в Python.
Вопросы на собеседованиях часто составлены по шаблонам, понимая которые можно легко пройти интервью и получить работу. Разбираем 14 таких шаблонов.
Изучаем связанные списки, их преимущества и недостатки по сравнению с массивами на примере песни Арианы Гранде «Thank U, Next».
В топ вошли книги на темы веб-разработки, языков программирования, DevOps, чистой архитектуры и алгоритмов, ОС, безопасности, deep learning и Big Data.
Русскоязычный курс от Романа Бровко, в котором разбираются такие понятия, как сложность алгоритмов, проблема P vs NP, а также базовые алгоритмы.
Чтобы быть хорошим программистом, мало знать синтаксис какого-нибудь языка и хорошо писать код. Когда речь идет о маленьких шаблонных проектах, этого хватит. Но вот вы сталкиваетесь с чем-то по-настоящему серьезным и масштабным, и становится ясно — без знания…
Конечный автомат — это некоторая абстрактная модель, содержащая конечное число состояний чего-либо. Используется для представления и управления потоком выполнения каких-либо команд. Конечный автомат идеально подходит для реализации
В этой части мы посмотрим на пять основных алгоритмов сортировки данных в массиве. Начнем с самого простого — сортировки пузырьком — и закончим «быстрой сортировкой» (quicksort). Для каждого алгоритма, кроме…
Множество — это коллекция, которая реализует основные математические операции над множествами: пересечения (intersection), объединение (union), разность (difference) и симметрическая разность (symmetric difference). Каждый из алгоритмов мы разберем в соответствующем разделе.
До сих пор мы рассматривали структуры данных, данные в которых располагаются линейно. В связном списке — от первого узла к единственному последнему. В динамическом массиве — в виде непрерывного блока. В этой…
В предыдущих частях мы рассматривали базовые структуры данных, которые, по сути, являлись надстройками над массивом. В этой статье мы добавим к коллекциям простые операции и посмотрим, как это повлияет на…
Иногда от коллекции требуется неограниченная вместимость и простота использования списка, но при этом константное время доступа к произвольному элементу, как в массиве. В этом случае используется список на основе массива…
Первая структура данных, которую мы рассмотрим — связный список. На то есть две причины: первое — связный список используется практически везде — от ОС до игр, и второе — на его…
Вне зависимости от того, являетесь ли вы студентом или работающим программистом, и от того, в какой области вы работаете, знание алгоритмов и структур данных необходимо. Это важные строительные блоки для…