Чему вы научитесь
- изучите основные математические концепции, необходимые для освоения алгоритмов
- изучите понятие алгоритма и его свойства
- изучите нотацию О-большое
- научитесь оценивать эффективность алгоритмов
- узнаете про плюсы и минусы асимптотического анализа алгоритмов
- изучите сложность встроенных в Python функций и структур данных
- изучите алгоритмы поиска: линейного, бинарного, экспоненциального, а также поиска прыжками
- научитесь находить минимумы и максимумы
- изучите алгоритмы базовых сортировок
- научитесь оптимизировать решения задач с помощью префиксных сумм, метода двух указателей, метода "встреча посередине" и метода скользящего окна
- научитесь решать задачи на обработку и заполнение матриц
- изучите понятие систем счисления
- изучите битовые операции
- научитесь работать с римской системой счисления
- изучите понятие простого и составного числа
- научитесь находить НОД и НОК чисел
- научитесь вычислять факториал числа
- научитесь вычислять числа Фибоначчи
- изучите основные понятия вычислительной геометрии
- изучите структуры данных: массив, связный список, стек, очередь, дэк, хэш-таблица
- узнаете о том, как проходить и готовиться к алгоритмическому собеседованию
- пройдете три тестовых алгоритмических собеседования
О курсе
Присоединяйтесь к официальному телеграм-каналу "Поколение Python" по ссылке.
"Поколение Python": алгоритмы и структуры данных для начинающих:
- продолжает линейку курсов "Поколение Python"
- адресован знающим базовые конструкции и типы данных языка Python
- знакомит с базовыми алгоритмами и структурами данных
В курсе рассматриваются такие темы, как анализ алгоритмов, алгоритмы поиска и сортировки, методы оптимизации, задачи с матрицами, системы счисления, математические алгоритмы и структуры данных и многое другое.
Мы тщательно отобрали задачи для этого курса, чтобы помочь вам разобраться с основными алгоритмическими идеями.
Важная составляющая курса — три тестовых алгоритмических собеседования. Они помогут вам оценить свой уровень подготовки и потренироваться в решении задач разной сложности в условиях, приближенных к реальным.
Курс разбит на 24 модулей с теоретическими и практическими материалами, а также заданиями.
Модули курса:
- 🐍 О курсе
- 🧠 Функции, многочлены, ФСУ и логарифмы
- 👨🏻💻 Закрепление материала
- 🔬 Понятие и анализ алгоритмов
- 👨🏻💻 Закрепление материала
- 🔎 Алгоритмы поиска
- 👨🏻💻 Закрепление материала
- 📊 Алгоритмы простых сортировок
- 👨🏻💻 Закрепление материала
- 🔀 Методы оптимизации решения задач
- 👨🏻💻 Закрепление материала
- 🌀 Задачи на обработку матриц
- 👨🏻💻 Закрепление материала
- 🔢 Cистемы счисления
- 👨🏻💻 Закрепление материала
- 🧮 Математические алгоритмы
- 👨🏻💻 Закрепление материала
- 🛠 Структуры данных
- 👨🏻💻 Закрепление материала
- ⏳ Алгоритмическое собеседование в Google
- ⏳Алгоритмическое собеседование в Microsoft
- ⏳Алгоритмическое собеседование в Поколение
- 📚 Полезные ресурсы для изучения алгоритмов и структур данных
- 🥳 Заключение
Решения проверяет автоматическая система, поэтому обратную связь вы получите очень быстро. Если у вас возникнут проблемы, команда курса даст советы и подсказки.
Для кого этот курс
Курс подходит как начинающим, так и продвинутым, которые хотят улучшить свои знания по алгоритмам и структурам данных и прорешать много задач.
Начальные требования
Для лучшего усвоения материала курса необходимо знать язык Python на базовом уровне. Крайне рекомендуем пройти курсы:
В курсе будут изучаться структуры данных, а потому будет крайне полезно знать основы ООП. Рекомендуем пройти следующий курс:
Наши преподаватели
Как проходит обучение
Модули разбиты на уроки. Каждый урок содержит текстовые конспекты и наборы практических задач на закрепление пройденного материала. Все уроки оформлены в едином стиле с выделением смысловых блоков, чтобы студенту было проще ориентироваться в курсе.
Задачи в каждом уроке расположены в порядке увеличения уровня сложности и в зависимости от него оцениваются в 1, 5, 10 или 20 баллов. Всего в курсе более 1500 задач, которые делятся на четыре типа:
-
тестовые задачи
-
математические задачи
-
табличные задачи
-
задачи на сопоставление
-
задачи на программирование
Все задачи проверяются автоматизированной системой в реальном времени. Особое внимание уделено задачам на программирование. Все тестовые данные к задачам на программирование находятся в открытом доступе, поэтому процесс отладки кода обычно не вызывает трудностей у студентов.
Если трудности все же возникли, можно задать вопрос в комментариях к уроку. На него ответит модератор, представляющий команду авторов курса. Кроме того, на помощь всегда готово прийти активное сообщество студентов "Поколения Python".
После успешного решения задачи вам открывается форум с решениями других участников курса. Если задача оказалась сложной, форум откроется после трех неудачных попыток решения.
Программа курса
Сертификат
Входит в 1 программу
Что вы получаете
- возможность изучить алгоритмы и стуктуры данных
- возможность отработать теорию на практике
- более 1000 тестовых вопросов
- более 500 задач на программирование
- доступ к форуму с эталонными решениями задач
- поддержку преподавателей, которые отвечают в течение дня
- навыки и знания, необходимые для прохождения алгоритмического собеседования
- навыки и знания, восстребованные работодателем
- сертификат от платформы Stepik
- сертификат от школы BEEGEEK