Сколько стоят операции над list, set и dict в Python? Разбираемся с временной сложностью

Временная сложность алгоритма часто обозначается нотацией «О» большое. Разбираемся, что это и какова сложность операций над коллекциями в Python.

Обложка статьи «Сколько стоят операции над list, set и dict в Python? Разбираемся с временной сложностью»

14 шаблонов, которые помогут ответить на любой вопрос по коду на собеседовании

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

Обложка статьи «14 шаблонов, которые помогут ответить на любой вопрос по коду на собеседовании»
Связанные списки

Введение в связанные списки

Изучаем связанные списки, их преимущества и недостатки по сравнению с массивами на примере песни Арианы Гранде «‎Thank U, Next».

Топ книг по программированию 2018 года

Топ книг по программированию, вышедших на русском языке в 2018 году

В топ вошли книги на темы веб-разработки, языков программирования, DevOps, чистой архитектуры и алгоритмов, ОС, безопасности, deep learning и Big Data.

Курс «Введение в алгоритмы»

Русскоязычный курс от Романа Бровко, в котором разбираются такие понятия, как сложность алгоритмов, проблема P vs NP, а также базовые алгоритмы.

Обложка поста
Обложка поста

Не для манки-кодеров: книги по алгоритмам и структурам данных

Чтобы быть хорошим программистом, мало знать синтаксис какого-нибудь языка и хорошо писать код. Когда речь идет о маленьких шаблонных проектах, этого хватит. Но вот вы сталкиваетесь с чем-то по-настоящему серьезным и масштабным, и становится ясно — без знания…

Алгоритмы и структуры данных для начинающих: сортировка

В этой части мы посмотрим на пять основных алгоритмов сортировки данных в массиве. Начнем с самого простого — сортировки пузырьком — и закончим «быстрой сортировкой» (quicksort). Для каждого алгоритма, кроме…

Обложка поста

Алгоритмы и структуры данных для начинающих: множества

Множество — это коллекция, которая реализует основные математические операции над множествами: пересечения (intersection), объединение (union), разность (difference) и симметрическая разность (symmetric difference). Каждый из алгоритмов мы разберем в соответствующем разделе.

Обложка поста

Алгоритмы и структуры данных для начинающих: двоичное дерево поиска

До сих пор мы рассматривали структуры данных, данные в которых располагаются линейно. В связном списке — от первого узла к единственному последнему. В динамическом массиве — в виде непрерывного блока. В этой…

Обложка поста

Алгоритмы и структуры данных для начинающих: стеки и очереди

В предыдущих частях мы рассматривали базовые структуры данных, которые, по сути, являлись надстройками над массивом. В этой статье мы добавим к коллекциям простые операции и посмотрим, как это повлияет на…

Обложка поста

Алгоритмы и структуры данных для начинающих: динамический массив

Иногда от коллекции требуется неограниченная вместимость и простота использования списка, но при этом константное время доступа к произвольному элементу, как в массиве. В этом случае используется список на основе массива…

Обложка поста
Обложка поста

Алгоритмы и структуры данных для начинающих: связный список

Первая структура данных, которую мы рассмотрим — связный список. На то есть две причины: первое — связный список используется практически везде — от ОС до игр, и второе — на его…

Обложка поста

Алгоритмы и структуры данных для начинающих: сложность алгоритмов

Вне зависимости от того, являетесь ли вы студентом или работающим программистом, и от того, в какой области вы работаете, знание алгоритмов и структур данных необходимо. Это важные строительные блоки для…