Чему вы научитесь
- Оценивать сложность алгоритмов по времени и памяти
- Реализовывать алгоритмы поиска и сортировки
- Сравнивать алгоритмы и объяснять их преимущества и ограничения
- Выбирать алгоритм с учётом свойств данных и условий задачи
- Находить способы ускорения решений
- Применять изученные алгоритмы в задачах на программирование
- Успешно проходить собеседования, на которых вас будут мучить алгоритмами
О курсе
Программа может выдавать правильный ответ, но работать слишком долго или расходовать слишком много памяти. На небольшом массиве разницу между решениями легко не заметить. Когда данных становится больше, выбор алгоритма начинает играть решающую роль.
Курс построен вокруг этого выбора. Сначала разберём, как оценивать эффективность кода. Затем познакомимся с алгоритмами поиска и сортировки: проследим их работу на примерах, сравним подходы и обсудим, в каких условиях их применять.
Почему именно такой алгоритм?
Важно уметь объяснить свой выбор: какие свойства данных вы учитываете, сколько операций потребуется и какой ценой достигается ускорение.
Эти принципы пригодятся и при написании собственных программ, и при работе с готовыми библиотеками. Понимая, что происходит внутри, проще замечать неэффективные решения и обосновывать изменения в коде.
Частые вопросы
Можно ли проходить курс на другом языке?
Примеры реализации написаны на C++. Принципы работы алгоритмов применимы и в других языках, но для чтения примеров полезно знать основы синтаксиса C++. Для сдачи решений выбирайте язык из списка, доступного в конкретном задании.
Поможет ли курс подготовиться к собеседованиям?
Курс поможет разобраться с поиском, сортировкой и оценкой сложности. Эти темы встречаются на алгоритмических собеседованиях. Поддержка при поиске работы предусмотрена, но трудоустройство в Яндекс или другую компанию не гарантируется: многое зависит от вашего опыта и требований вакансии.
Как и когда я буду учиться?
Курс можно проходить сколько угодно: можно растянуть его на год, можно пройти за месяц, цена курса при этом не изменится. У нас нет подписок по месяцам: после покупки курс ваш навсегда.
Что делать, если я не справлюсь с нагрузкой?
Если вы чего-то не понимаете в материале задавайте вопросы в комментариях, преподаватель отвечает на них каждый день: он приведёт более подробное объяснение, больше примеров вы точно всё поймёте. Главное не стесняться!
Попробуйте бесплатную часть
Прочитайте бесплатные блоки с теорией и решите первые задачи, чтобы оценить подачу материала и сложность. Бесплатную часть можно изучать без ограничения по времени.
Нужна помощь с выбором курса?
Напишите слово «Консультация» в Telegram-боте. Консультация бесплатная.
Для кого этот курс
- Для тех, кто занимается спортивным программированием. Сможете применять алгоритмы для решения олимпиадных задач.
- Для студентов младших курсов, которые хотят подтянуть или освоить дисциплину "Алгоритмы и структуры данных"
- Для тех, кто готовится к собеседованиям в IT сфере. Посмотрите по-новому на знакомые алгоритмы, освежите знания.
- Для программистов, заинтересованных в оптимизации своего кода. Повысите свой профессиональный уровень. Сможете участвовать в сложных проектах, связанных с высоконагруженными системами и обработкой больших объёмов данных. Повысите вероятность повышения зарплаты
- Для тех, кто заинтересован в развитии алгоритмического мышления, позволяющего реализовывать сложные программные проекты
- Для тех, кто хочет расширить кругозор
Начальные требования
Знание основ программирования. Примеры написаны на C++, поэтому желательно уметь читать простой код на этом языке. Предварительно изучать алгоритмы поиска и сортировки не требуется, всему научим.
Наши преподаватели
Как проходит обучение
Вы читаете конспекты, разбираете примеры на C++ и выполняете тесты и задачи на программирование. Система автоматически проверяет ответы и решения. Вопросы можно задавать в комментариях к шагам: команда курса поможет разобраться и даст подсказки.
Программа курса
Сертификат
Что вы получаете
- Возможность освоить профессию 21 века =)
- Возможность повыситься по карьерной лестнице
- Конкурентоспособность среди коллег
- Навыки и знания, востребованные работодателем
- Возможность отработать теорию на практике
- Поддержку команды курса и однокурсников
- Доступ к форуму решений
- Бессрочный доступ к материалам курса
- Доступ к сообществу программистов
- Поддержку преподавателей, которые отвечают в течение дня
- Сертификат о прохождении курса