"Поколение Python": алгоритмы и структуры данных для начинающих
Подробнее
Что нужно для старта
- Для лучшего усвоения материала курса необходимо знать язык Python на базовом уровне. Крайне рекомендуем пройти курсы:
- "Поколение Python": курс для начинающих
- "Поколение Python": курс для продвинутых
- "Поколение Python": курс для профессионалов
- В курсе будут изучаться структуры данных, а потому будет крайне полезно знать основы ООП. Рекомендуем пройти следующий курс:
- "Поколение Python": ООП
Что вы получите
- изучите основные математические концепции, необходимые для освоения алгоритмов
- изучите понятие алгоритма и его свойства
- изучите нотацию О-большое
- научитесь оценивать эффективность алгоритмов
- узнаете про плюсы и минусы асимптотического анализа алгоритмов
- изучите сложность встроенных в Python функций и структур данных
- изучите алгоритмы поиска: линейного, бинарного, экспоненциального, а также поиска прыжками
- научитесь находить минимумы и максимумы
- изучите алгоритмы базовых сортировок
- научитесь оптимизировать решения задач с помощью префиксных сумм, метода двух указателей, метода "встреча посередине" и метода скользящего окна
- научитесь решать задачи на обработку и заполнение матриц
- изучите понятие систем счисления
- изучите битовые операции
- научитесь работать с римской системой счисления
- изучите понятие простого и составного числа
- научитесь находить НОД и НОК чисел
- научитесь вычислять факториал числа
- научитесь вычислять числа Фибоначчи
- изучите основные понятия вычислительной геометрии
- изучите структуры данных: массив, связный список, стек, очередь, дэк, хэш-таблица
- узнаете о том, как проходить и готовиться к алгоритмическому собеседованию
- пройдете три тестовых алгоритмических собеседования
Для кого этот курс
- Курс подходит как начинающим, так и продвинутым, которые хотят улучшить свои знания по алгоритмам и структурам данных и прорешать много задач.
Программа курса
- Зачем изучать алгоритмы и структуры данных?
- О курсе
- О задачах на программирование
- О квесте
- Достижения курсов Поколения 🏆
- Понятие функции
- Функции в математике
- График функции
- Линейная функция
- Линейные уравнения и их системы
- Квадратичная функция
- Многочлены
- Формулы сокращенного умножения
- Логарифмы
- Свойства логарифмов
- Количество цифр в числе
- Логарифмы в Python
- Логарифмическая и показательная функции
- Задачи
- Понятие алгоритма
- Основы решения алгоритмических задач. Часть 1
- Основы решения алгоритмических задач. Часть 2
- Оценка эффективности алгоритмов. Часть 1
- Оценка эффективности алгоритмов. Часть 2
- Нотация О-большое. Часть 1
- Нотация О-большое. Часть 2
- Нотация О-большое. Часть 3
- Нотация О-большое. Часть 4
- Асимптотическая временная сложность. Часть 1
- Асимптотическая временная сложность. Часть 2
- Асимптотическая временная сложность. Часть 3
- Асимптотическая временная сложность. Часть 4
- Асимптотическая временная сложность. Часть 5
- Асимптотическая пространственная сложность
- Плюсы и минусы асимптотического анализа
- Сложность встроенных функций
- Сложность встроенных типов данных. Часть 1
- Сложность встроенных типов данных. Часть 2
- Решение задач 🚀
- Задачи. Часть 1
- Задачи. Часть 2
- Задачи. Часть 3
- Линейный поиск. Часть 1
- Линейный поиск. Часть 2
- Поиск минимумов и максимумов. Часть 1
- Поиск минимумов и максимумов. Часть 2
- Поиск минимумов и максимумов. Часть 3
- Бинарный поиск. Часть 1
- Бинарный поиск. Часть 2
- Экспоненциальный бинарный поиск
- Вещественный бинарный поиск
- Поиск прыжками
- Задачи. Часть 1
- Задачи. Часть 2
- Сортировка выбором (Selection Sort)
- Сортировка пузырьком (Bubble Sort)
- Сортировка вставками (Insertion Sort)
- Сортировка подсчетом (Counting Sort)
- Применение сортировки для решения задач
- Задачи. Часть 1
- Задачи. Часть 2
- Префиксные суммы
- Встреча посередине (Meet in the middle)
- Метод двух указателей. Часть 1
- Метод двух указателей. Часть 2
- Метод скользящего окна
- Задачи
- Обработка матриц
- Заполнение матриц
- Решение задач 🚀
- Задачи
- Введение в системы счисления
- Десятичная система счисления
- Перевод чисел в десятичную систему счисления
- Перевод чисел из десятичной системы счисления
- Двоичная, восьмеричная и шестнадцатеричная системы счисления
- Функции bin(), oct(), hex() и int()
- Битовые операции. Часть 1
- Битовые операции. Часть 2
- Римская система счисления
- Задачи. Часть 1
- Задачи. Часть 2
- Делимость, ее свойства и признаки
- Простые и составные числа. Часть 1
- Простые и составные числа. Часть 2
- Наибольший общий делитель (НОД)
- Наименьшее общее кратное (НОК)
- Алгоритм Евклида
- Арифметическая прогрессия. Часть 1
- Арифметическая прогрессия. Часть 2
- Геометрическая прогрессия
- Факториал
- Числа Фибоначчи
- Задачи
- Задачи
- Односвязный список. Часть 1
- Односвязный список. Часть 2
- Двусвязный список
- Кольцевой список
- Стек. Часть 1
- Стек. Часть 2
- Инфиксная, префиксная и постфиксная нотации. Часть 1
- Инфиксная, префиксная и постфиксная нотации. Часть 2
- Очередь
- Дек
- Тип данных deque. Часть 1
- Тип данных deque. Часть 2
- Тип данных deque. Часть 3
- Хеш-таблица. Часть 1
- Хеш-таблица. Часть 2
- Хеш-таблица. Часть 3
- Задачи
- Об алгоритмических собеседованиях
- Задачи
- Задачи
- Задачи
- Полезные сайты
- Полезные книги
- Заключительный урок
- Оглавление
01🐍 О курсе
- Зачем изучать алгоритмы и структуры данных?
- О курсе
- О задачах на программирование
- О квесте
- Достижения курсов Поколения 🏆
02🧠 Функции, многочлены, ФСУ и логарифмы
- Понятие функции
- Функции в математике
- График функции
- Линейная функция
- Линейные уравнения и их системы
- Квадратичная функция
- Многочлены
- Формулы сокращенного умножения
- Логарифмы
- Свойства логарифмов
- Количество цифр в числе
- Логарифмы в Python
- Логарифмическая и показательная функции
03👨🏻💻 Закрепление материала
- Задачи
04🔬 Понятие и анализ алгоритмов
- Понятие алгоритма
- Основы решения алгоритмических задач. Часть 1
- Основы решения алгоритмических задач. Часть 2
- Оценка эффективности алгоритмов. Часть 1
- Оценка эффективности алгоритмов. Часть 2
- Нотация О-большое. Часть 1
- Нотация О-большое. Часть 2
- Нотация О-большое. Часть 3
- Нотация О-большое. Часть 4
- Асимптотическая временная сложность. Часть 1
- Асимптотическая временная сложность. Часть 2
- Асимптотическая временная сложность. Часть 3
- Асимптотическая временная сложность. Часть 4
- Асимптотическая временная сложность. Часть 5
- Асимптотическая пространственная сложность
- Плюсы и минусы асимптотического анализа
- Сложность встроенных функций
- Сложность встроенных типов данных. Часть 1
- Сложность встроенных типов данных. Часть 2
- Решение задач 🚀
05👨🏻💻 Закрепление материала
- Задачи. Часть 1
- Задачи. Часть 2
- Задачи. Часть 3
06🔎 Алгоритмы поиска
- Линейный поиск. Часть 1
- Линейный поиск. Часть 2
- Поиск минимумов и максимумов. Часть 1
- Поиск минимумов и максимумов. Часть 2
- Поиск минимумов и максимумов. Часть 3
- Бинарный поиск. Часть 1
- Бинарный поиск. Часть 2
- Экспоненциальный бинарный поиск
- Вещественный бинарный поиск
- Поиск прыжками
07👨🏻💻 Закрепление материала
- Задачи. Часть 1
- Задачи. Часть 2
08📊 Алгоритмы простых сортировок
- Сортировка выбором (Selection Sort)
- Сортировка пузырьком (Bubble Sort)
- Сортировка вставками (Insertion Sort)
- Сортировка подсчетом (Counting Sort)
- Применение сортировки для решения задач
09👨🏻💻 Закрепление материала
- Задачи. Часть 1
- Задачи. Часть 2
10🔀 Методы оптимизации решения задач
- Префиксные суммы
- Встреча посередине (Meet in the middle)
- Метод двух указателей. Часть 1
- Метод двух указателей. Часть 2
- Метод скользящего окна
11👨🏻💻 Закрепление материала
- Задачи
12🌀 Задачи на обработку матриц
- Обработка матриц
- Заполнение матриц
- Решение задач 🚀
13👨🏻💻 Закрепление материала
- Задачи
14🔢 Системы счисления
- Введение в системы счисления
- Десятичная система счисления
- Перевод чисел в десятичную систему счисления
- Перевод чисел из десятичной системы счисления
- Двоичная, восьмеричная и шестнадцатеричная системы счисления
- Функции bin(), oct(), hex() и int()
- Битовые операции. Часть 1
- Битовые операции. Часть 2
- Римская система счисления
15👨🏻💻 Закрепление материала
- Задачи. Часть 1
- Задачи. Часть 2
16🧮 Математические алгоритмы
- Делимость, ее свойства и признаки
- Простые и составные числа. Часть 1
- Простые и составные числа. Часть 2
- Наибольший общий делитель (НОД)
- Наименьшее общее кратное (НОК)
- Алгоритм Евклида
- Арифметическая прогрессия. Часть 1
- Арифметическая прогрессия. Часть 2
- Геометрическая прогрессия
- Факториал
- Числа Фибоначчи
17👨🏻💻 Закрепление материала
- Задачи
- Задачи
18🛠 Структуры данных
- Односвязный список. Часть 1
- Односвязный список. Часть 2
- Двусвязный список
- Кольцевой список
- Стек. Часть 1
- Стек. Часть 2
- Инфиксная, префиксная и постфиксная нотации. Часть 1
- Инфиксная, префиксная и постфиксная нотации. Часть 2
- Очередь
- Дек
- Тип данных deque. Часть 1
- Тип данных deque. Часть 2
- Тип данных deque. Часть 3
- Хеш-таблица. Часть 1
- Хеш-таблица. Часть 2
- Хеш-таблица. Часть 3
19👨🏻💻 Закрепление материала
- Задачи
- Об алгоритмических собеседованиях
20⏳ Алгоритмическое собеседование в Google
- Задачи
21⏳ Алгоритмическое собеседование в Microsoft
- Задачи
22⏳ Алгоритмическое собеседование в Поколение
- Задачи
23📚 Полезные ресурсы для изучения алгоритмов и структур данных
- Полезные сайты
- Полезные книги
24🥳 Заключение
- Заключительный урок
- Оглавление
Решив 70% всех задач курса, вы получите сертификат от платформы Stepik и школы BEEGEEK, подписанный авторами курса.
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «"Поколение Python": алгоритмы и структуры данных для начинающих» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 12 августа 2026 г.

Stepik 


















