CodeDala
Home
Courses
Paths
How it works
Pricing
🌐
KZ
RU
EN
Log in
Start free
Σ
💻 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
lessons
⏱ 1-2 evenings
🎓 Advanced
🎯 Mission
Master Algorithms & Data Structures
⚡
+350
XP
🏆
Certificate
PDF
🎓
Course complete
Progress
0 / 30 · 0%
Next up:
Что такое Big-O?
Start the project →
Course program
01
Big-O: сложность
0 / 5 lessons
⌄
01
Что такое Big-O?
Нотация Big-O
•
Скорость роста
•
Худший случай
⚡ +10
▶ Now
02
Сравниваем O(1) и O(n)
Прямой доступ
•
Линейный обход
•
Измерение времени
⚡ +10
Open
03
O(n²): вложенные циклы
Вложенный цикл
•
Все пары
•
Квадратный рост
⚡ +10
Open
04
O(log n): логарифмическая сложность
Логарифм
•
Деление пополам
•
Двоичный поиск
⚡ +10
Open
05
Big-O: итоговая таблица
Сравнение классов
•
Практическое правило
•
Эффективный код
⚡ +10
Open
02
Алгоритмы поиска
0 / 3 lessons
⌄
06
Линейный поиск
Линейный поиск
•
Сложность O(n)
•
Возврат индекса
⚡ +10
Open
07
Двоичный поиск
Двоичный поиск
•
Отсортированный список
•
O(log n)
⚡ +10
Open
08
Встроенные средства поиска Python
Оператор in
•
Метод index()
•
Модуль bisect
⚡ +10
Open
03
Алгоритмы сортировки
0 / 5 lessons
⌄
09
Пузырьковая сортировка
Сортировка пузырьком
•
Попарное сравнение
•
O(n²)
⚡ +10
Open
10
Сортировка выбором
Выбор минимума
•
Обмен позициями
•
O(n²)
⚡ +10
Open
11
Сортировка вставками
Сортировка вставками
•
Сдвиг элементов
•
Малые данные
⚡ +10
Open
12
Python: sorted() и sort()
Функция sorted()
•
Метод sort()
•
Параметр key
⚡ +10
Open
13
Сортировка по ключу
Параметр key
•
lambda-функция
•
Сортировка объектов
⚡ +10
Open
04
Рекурсия
0 / 5 lessons
⌄
14
Что такое рекурсия?
Вызов себя
•
Базовый случай
•
Предел стека
⚡ +10
Open
15
Рекурсивный факториал
Факториал
•
Возврат значения
•
Рекурсивная формула
⚡ +10
Open
16
Рекурсивный Фибоначчи
Числа Фибоначчи
•
Двойная рекурсия
•
Мемоизация
⚡ +10
Open
17
Рекурсивная обработка списка
Рекурсивный обход списка
•
Голова и хвост
•
Накопление
⚡ +10
Open
18
Рекурсия vs цикл
Рекурсия vs цикл
•
Когда рекурсия?
•
Память стека
⚡ +10
Open
05
Структуры данных
0 / 5 lessons
⌄
19
Стек (Stack)
Принцип LIFO
•
append и pop
•
Применение
⚡ +10
Open
20
Очередь (Queue)
Принцип FIFO
•
Использование deque
•
Моделирование очереди
⚡ +10
Open
21
Хеш-таблица (dict)
Структура dict
•
Поиск O(1)
•
Пары ключ-значение
⚡ +10
Open
22
Множество (set) и его свойства
Структура set
•
Проверка O(1)
•
Без дубликатов
⚡ +10
Open
23
Выбор структуры данных
Что когда?
•
Оптимальный выбор
•
Реальные примеры
⚡ +10
Open
06
Классические паттерны
0 / 7 lessons
⌄
24
Паттерн двух указателей
Два указателя
•
Отсортированный список
•
Решение O(n)
⚡ +10
Open
25
Скользящее окно (Sliding Window)
Скользящее окно
•
Фиксированный размер
•
Максимальная сумма
⚡ +10
Open
26
Проверка анаграммы
Частота символов
•
Counter или dict
•
Сравнение строк
⚡ +10
Open
27
Длиннейшая подстрока без повторов
Скользящее окно
•
Отслеживание через set
•
Классическая задача
⚡ +10
Open
28
Задачи на частоты
Счётчик частот
•
Counter.most_common
•
k самых частых
⚡ +10
Open
29
Префиксная сумма
Префиксная сумма
•
Предвычисление
•
Запрос O(1)
⚡ +10
Open
30
Алгоритмы: итоговый урок
Обобщающая практика
•
Смешанная задача
•
Выбор алгоритма
🎓
Course complete
Open
Algorithms & Data Structures — online coding course