Чему вы научитесь
- изучите основные математические концепции, необходимые для освоения алгоритмов
- изучите понятие алгоритма и его свойства
- изучите нотацию О-большое
- научитесь оценивать эффективность алгоритмов
- узнаете про плюсы и минусы асимптотического анализа алгоритмов
- изучите сложность встроенных в Python функций и структур данных
- изучите алгоритмы поиска: линейного, бинарного, экспоненциального, а также поиска прыжками
- научитесь находить минимумы и максимумы
- изучите алгоритмы базовых сортировок
- научитесь оптимизировать решения задач с помощью префиксных сумм, метода двух указателей, метода "встреча посередине" и метода скользящего окна
- научитесь решать задачи на обработку и заполнение матриц
- изучите понятие систем счисления
- изучите битовые операции
- научитесь работать с римской системой счисления
- изучите понятие простого и составного числа
- научитесь находить НОД и НОК чисел
- научитесь вычислять факториал числа
- научитесь вычислять числа Фибоначчи
- изучите основные понятия вычислительной геометрии
- изучите структуры данных: массив, связный список, стек, очередь, дэк, хэш-таблица
- узнаете о том, как проходить и готовиться к алгоритмическому собеседованию
- пройдете три тестовых алгоритмических собеседования
О курсе
Для кого этот курс
Начальные требования
Для лучшего усвоения материала курса необходимо знать язык Python на базовом уровне. Крайне рекомендуем пройти курсы:
В курсе будут изучаться структуры данных, а потому будет крайне полезно знать основы ООП. Рекомендуем пройти следующий курс:
Преподаватели курса
Как проходит обучение
Модули разбиты на уроки. Каждый урок содержит текстовые конспекты и наборы практических задач на закрепление пройденного материала. Все уроки оформлены в едином стиле с выделением смысловых блоков, чтобы студенту было проще ориентироваться в курсе.
Задачи в каждом уроке расположены в порядке увеличения уровня сложности и в зависимости от него оцениваются в 1, 5, 10 или 20 баллов. Всего в курсе более 1500 задач, которые делятся на четыре типа:
-
тестовые задачи
-
математические задачи
-
табличные задачи
-
задачи на сопоставление
-
задачи на программирование
Все задачи проверяются автоматизированной системой в реальном времени. Особое внимание уделено задачам на программирование. Все тестовые данные к задачам на программирование находятся в открытом доступе, поэтому процесс отладки кода обычно не вызывает трудностей у студентов.
Если трудности все же возникли, можно задать вопрос в комментариях к уроку. На него ответит модератор, представляющий команду авторов курса. Кроме того, на помощь всегда готово прийти активное сообщество студентов "Поколения Python".
После успешного решения задачи вам открывается форум с решениями других участников курса. Если задача оказалась сложной, форум откроется после трех неудачных попыток решения.
Сертификат
Что вы получите
- возможность изучить алгоритмы и стуктуры данных
- возможность отработать теорию на практике
- более 1000 тестовых вопросов
- более 500 задач на программирование
- доступ к форуму с эталонными решениями задач
- поддержку преподавателей, которые отвечают в течение дня
- навыки и знания, необходимые для прохождения алгоритмического собеседования
- навыки и знания, восстребованные работодателем
- сертификат от платформы Stepik
- сертификат от школы BEEGEEK