Σ
💻 For developers

Algorithms & Data Structures

Complexity, arrays, hashes, recursion, search — for interviews

What you'll build
📘A solid foundation
Practice in the browser
🎯Mini-projects
🎓Course certificate
📘 30 lessons1-2 evenings🎓 Advanced
🎯 Mission
Master Algorithms & Data Structures
+350XP
🏆CertificatePDF
🎓Course complete
Progress0 / 30 · 0%
Next up: Что такое Big-O?

Course program

01

Big-O: сложность

0 / 5 lessons
  1. 01

    Что такое Big-O?

    Нотация Big-OСкорость ростаХудший случай⚡ +10
    ▶ Now
  2. 02

    Сравниваем O(1) и O(n)

    Прямой доступЛинейный обходИзмерение времени⚡ +10
    Open
  3. 03

    O(n²): вложенные циклы

    Вложенный циклВсе парыКвадратный рост⚡ +10
    Open
  4. 04

    O(log n): логарифмическая сложность

    ЛогарифмДеление пополамДвоичный поиск⚡ +10
    Open
  5. 05

    Big-O: итоговая таблица

    Сравнение классовПрактическое правилоЭффективный код⚡ +10
    Open
02

Алгоритмы поиска

0 / 3 lessons
  1. 06

    Линейный поиск

    Линейный поискСложность O(n)Возврат индекса⚡ +10
    Open
  2. 07

    Двоичный поиск

    Двоичный поискОтсортированный списокO(log n)⚡ +10
    Open
  3. 08

    Встроенные средства поиска Python

    Оператор inМетод index()Модуль bisect⚡ +10
    Open
03

Алгоритмы сортировки

0 / 5 lessons
  1. 09

    Пузырьковая сортировка

    Сортировка пузырькомПопарное сравнениеO(n²)⚡ +10
    Open
  2. 10

    Сортировка выбором

    Выбор минимумаОбмен позициямиO(n²)⚡ +10
    Open
  3. 11

    Сортировка вставками

    Сортировка вставкамиСдвиг элементовМалые данные⚡ +10
    Open
  4. 12

    Python: sorted() и sort()

    Функция sorted()Метод sort()Параметр key⚡ +10
    Open
  5. 13

    Сортировка по ключу

    Параметр keylambda-функцияСортировка объектов⚡ +10
    Open
04

Рекурсия

0 / 5 lessons
  1. 14

    Что такое рекурсия?

    Вызов себяБазовый случайПредел стека⚡ +10
    Open
  2. 15

    Рекурсивный факториал

    ФакториалВозврат значенияРекурсивная формула⚡ +10
    Open
  3. 16

    Рекурсивный Фибоначчи

    Числа ФибоначчиДвойная рекурсияМемоизация⚡ +10
    Open
  4. 17

    Рекурсивная обработка списка

    Рекурсивный обход спискаГолова и хвостНакопление⚡ +10
    Open
  5. 18

    Рекурсия vs цикл

    Рекурсия vs циклКогда рекурсия?Память стека⚡ +10
    Open
05

Структуры данных

0 / 5 lessons
  1. 19

    Стек (Stack)

    Принцип LIFOappend и popПрименение⚡ +10
    Open
  2. 20

    Очередь (Queue)

    Принцип FIFOИспользование dequeМоделирование очереди⚡ +10
    Open
  3. 21

    Хеш-таблица (dict)

    Структура dictПоиск O(1)Пары ключ-значение⚡ +10
    Open
  4. 22

    Множество (set) и его свойства

    Структура setПроверка O(1)Без дубликатов⚡ +10
    Open
  5. 23

    Выбор структуры данных

    Что когда?Оптимальный выборРеальные примеры⚡ +10
    Open
06

Классические паттерны

0 / 7 lessons
  1. 24

    Паттерн двух указателей

    Два указателяОтсортированный списокРешение O(n)⚡ +10
    Open
  2. 25

    Скользящее окно (Sliding Window)

    Скользящее окноФиксированный размерМаксимальная сумма⚡ +10
    Open
  3. 26

    Проверка анаграммы

    Частота символовCounter или dictСравнение строк⚡ +10
    Open
  4. 27

    Длиннейшая подстрока без повторов

    Скользящее окноОтслеживание через setКлассическая задача⚡ +10
    Open
  5. 28

    Задачи на частоты

    Счётчик частотCounter.most_commonk самых частых⚡ +10
    Open
  6. 29

    Префиксная сумма

    Префиксная суммаПредвычислениеЗапрос O(1)⚡ +10
    Open
  7. 30

    Алгоритмы: итоговый урок

    Обобщающая практикаСмешанная задачаВыбор алгоритма
    Course complete
    Open
Algorithms & Data Structures — online coding course