Алгоритмический фундамент программиста
Подробнее
Что нужно для старта
- Уметь программировать на одном из языков программирования C++, Go, Java, Python
- Неважно, какой язык для вас является основным, знакомство с С++ сильно упростит для вас прохождение курса
Что вы получите
- Уметь находить достаточно быстрое решение для любой задачи с алгоритмического собеседования
- Распознавать и применять паттерны решения алгоритмических задач (например, два указателя)
- Уметь реализовывать его на своём языке программирования
- Уметь оценивать асимптотическую сложность алгоритмов
- Понимать, что означают оценки «о большое»
- Уметь реализовывать линейный и двоичный поиск на своём языке программирования
- Применять алгоритм поиска, наиболее подходящий под решаемую задачу
- Уметь реализовывать стек, очередь, дек, одно- и двусвязный список на своём языке программирования
- Понимать внутреннее устройство этих структур данных
- Применять наиболее подходящую структуру данных для решаемой задачи
- Уметь комбинировать базовые структуру данных для решаемой задачи
- Понимать, как работают быстрая сортировка и сортировка слияниями
- Уметь реализовывать эти сортировки на своём языке программирования
- Применять наиболее подходящий алгоритм сортировки для решаемой задачи
- Уметь реализовывать графовые алгоритмы: поиски в ширину и глубину, in-order, pre-order и post-order обходы деревьев.
- Понимать внутреннее устройство хеш-таблицы и асимптотики работы её операций
- Уметь реализовывать хеш-таблицу на своём языке программирования
Для кого этот курс
- 1. Программисты, которые уже заваливали алгоритмическое собеседование в крупной IT-компании и хотят наконец разобраться в теме, чтобы в будущем успешно пройти интервью в Google, Яндекс, Amazon, и другие ведущие компании.
- 2. Те, кто работает программистами, но всегда считал алгоритмы своей слабой стороной и хочет устранить этот пробел. Если вам интересно разобраться в алгоритмах и повысить свою уверенность — этот курс для вас.
- 3. Программисты, выходящие на международный рынок труда, которые хотят подготовиться к своему первому собеседованию в крупной зарубежной IT-компании. Курс поможет вам овладеть необходимыми алгоритмическими навыками и чувствовать себя уверенно на интервью.
- 4. Люди, которые работают в IT-сфере в какой-то роли (менеджер, системный администратор, тестировщик) и хотят перейти в разработку
Программа курса
- Приветствие
- Что вас ждёт на курсе
- Познакомьтесь с создателями курса
- Расскажите нам о себе
- Введение в асимптотики
- Время работы в лучшем и худшем случае
- Асимптотическое обозначение «О большое»
- Стандартные асимптотики времени работы алгоритмов
- Сложение и умножение асимптотик
- Примеры оценки времени работы алгоритма
- Итоги модуля "Асимптотические оценки алгоритмов"
- Контрольные задания на тему "Асимптотические оценки алгоритмов"
- Сессия вопросов и ответов по асимптотикам
- Разбор задач на асимптотические оценки алгоритмов
- Линейный поиск
- Введение в двоичный поиск
- Реализация алгоритма двоичного поиска
- Готовые реализации двоичного поиска в языках программирования
- «Двоичный поиск по ответу»
- Итоги модуля "Алгоритмы поиска"
- Контрольные задачи на тему "Алгоритмы поиска"
- Сессия вопросов и ответов по алгоритмам поиска
- Разбор задач про алгоритмы поиска
- Вступайте в чат участников курса
- Введение в метод двух указателей
- Задача о поиске отрезка с заданной суммой
- Задача о двух отсортированных массивах
- Задача LongPressedName
- Итоги модуля "Метод двух указателей"
- Контрольные задачи на тему "Метод двух указателей"
- Сессии вопросов и ответов по методу двух указателей
- Разбор задач на метод двух указателей
- Односвязный список
- Задачи на односвязный список
- Стек
- Двусвязный список
- Очередь
- Амортизированная сложность
- Дек
- Контрольные задачи на элементарные структуры данных
- Сессия вопросов и ответов по элементарным структурам данных
- Разбор задач на элементарные структуры данных
- Введение в задачу сортировки
- Сортировка слияниями
- Алгоритм быстрой сортировки
- Задача нахождения K-й порядковой статистики
- Алгоритмы сортировки за линейное время
- Контрольные задачи
- Разбор задач
- Знакомство с преподавателем
- Основные понятия
- Простая двоичная куча
- Упражнения на простую двоичную кучу
- Асимптотики, построение, сортировки
- Задача на порядковые статистики
- Многопутевое слияние
- Контрольные задачи
- Разбор задач
- Введение в теорию графов. Способы хранения графов
- Поиск в глубину
- Поиск в ширину
- Поиск циклов и топологическая сортировка
- Обзор более сложных алгоритмов на графах
- Контрольные задачи
- Сессия вопросов и ответов по алгоритмам на графах
- Разбор задач
- Основное свойство двоичного дерева поиска
- Поиск и вставка в двоичное дерево поиска
- Удаление из двоичного дерева поиска
- Обходы двоичных деревьев поиска
- Глубина двоичного дерева поиска и сбалансированные деревья
- Контрольные задачи
- Разбор задач
- Свойства декартовых деревьев
- Операция merge
- Операция split
- Реализация декартового дерева
- Контрольные задачи
- Разборы задач
- Идея индексации по данным
- Задача хеширования
- Выбор хеш-функции
- Разрешение коллизий
- Рехеширование
- Контрольные задачи
- Разбор задач
- Задачи
- Разбор задач
01Знакомство и введение
- Приветствие
- Что вас ждёт на курсе
- Познакомьтесь с создателями курса
- Расскажите нам о себе
02Асимптотические оценки алгоритмов
- Введение в асимптотики
- Время работы в лучшем и худшем случае
- Асимптотическое обозначение «О большое»
- Стандартные асимптотики времени работы алгоритмов
- Сложение и умножение асимптотик
- Примеры оценки времени работы алгоритма
- Итоги модуля "Асимптотические оценки алгоритмов"
- Контрольные задания на тему "Асимптотические оценки алгоритмов"
- Сессия вопросов и ответов по асимптотикам
03Разбор задач на асимптотические оценки алгоритмов
- Разбор задач на асимптотические оценки алгоритмов
04Алгоритмы поиска
- Линейный поиск
- Введение в двоичный поиск
- Реализация алгоритма двоичного поиска
- Готовые реализации двоичного поиска в языках программирования
- «Двоичный поиск по ответу»
- Итоги модуля "Алгоритмы поиска"
- Контрольные задачи на тему "Алгоритмы поиска"
- Сессия вопросов и ответов по алгоритмам поиска
05Разбор задач про алгоритмы поиска
- Разбор задач про алгоритмы поиска
06Метод двух указателей
- Вступайте в чат участников курса
- Введение в метод двух указателей
- Задача о поиске отрезка с заданной суммой
- Задача о двух отсортированных массивах
- Задача LongPressedName
- Итоги модуля "Метод двух указателей"
- Контрольные задачи на тему "Метод двух указателей"
- Сессии вопросов и ответов по методу двух указателей
07Разбор задач на метод двух указателей
- Разбор задач на метод двух указателей
08Элементарные структуры данных
- Односвязный список
- Задачи на односвязный список
- Стек
- Двусвязный список
- Очередь
- Амортизированная сложность
- Дек
- Контрольные задачи на элементарные структуры данных
- Сессия вопросов и ответов по элементарным структурам данных
09Разбор задач на элементарные структуры данных
- Разбор задач на элементарные структуры данных
10Сортировки
- Введение в задачу сортировки
- Сортировка слияниями
- Алгоритм быстрой сортировки
- Задача нахождения K-й порядковой статистики
- Алгоритмы сортировки за линейное время
- Контрольные задачи
11Разбор задач на тему "Сортировки"
- Разбор задач
12Куча
- Знакомство с преподавателем
- Основные понятия
- Простая двоичная куча
- Упражнения на простую двоичную кучу
- Асимптотики, построение, сортировки
- Задача на порядковые статистики
- Многопутевое слияние
- Контрольные задачи
13Разбор задач на тему «Куча»
- Разбор задач
14Алгоритмы на графах
- Введение в теорию графов. Способы хранения графов
- Поиск в глубину
- Поиск в ширину
- Поиск циклов и топологическая сортировка
- Обзор более сложных алгоритмов на графах
- Контрольные задачи
- Сессия вопросов и ответов по алгоритмам на графах
15Разбор задач на алгоритмы на графах
- Разбор задач
16Двоичные деревья поиска
- Основное свойство двоичного дерева поиска
- Поиск и вставка в двоичное дерево поиска
- Удаление из двоичного дерева поиска
- Обходы двоичных деревьев поиска
- Глубина двоичного дерева поиска и сбалансированные деревья
- Контрольные задачи
17Разбор задач на двоичные деревья поиска
- Разбор задач
18Декартовы деревья
- Свойства декартовых деревьев
- Операция merge
- Операция split
- Реализация декартового дерева
- Контрольные задачи
- Разборы задач
19Хеш-таблицы
- Идея индексации по данным
- Задача хеширования
- Выбор хеш-функции
- Разрешение коллизий
- Рехеширование
- Контрольные задачи
20Разбор задач на хеш-таблицы
- Разбор задач
21Финальные задачи
- Задачи
22Разбор финальных задач
- Разбор задач
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «Алгоритмический фундамент программиста» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 3 сентября 2026 г.

Stepik 
















