Junior-разработчикам и тем, кто хочет стать разработчиком / устроиться на должность разработчика
Middle-разработчикам
Уже имеете базовые навыки в любом объектно-ориентированном языке программирования. Вы освоите как теоретический, так и практический материал, а также познакомитесь с принципами оценки сложности алгоритмов.
Освежите знания по теме алгоритмов и структур данных. Акцент на практике - написание кода, разбор подходов в решении алгоритмических задач. Вы сможете выйти на новый уровень, научитесь создавать новые алгоритмы и вспомните базу для поступления на работу в крупные технологические компании: Яндекс, Сбер, Google, Microsoft и другие.
Практика и теория
47 видеолекций и 150 практических заданий
Формат
Курс в записи на платформе CoreApp
Поддержка
Комментарии преподавателя по заданиям в течение всего обучения
Длительность
6 месяцев
Этот курс подойдет вам, если
Вы хотите развиваться как профессиональный разработчик и готовы повысить свой уровень
Вы знаете на базовом уровне один из объектно-ориентированных языков программирования: Python, Java, PHP, C++, JavaScript, C#
Программист должен знать ключевые алгоритмы и уметь использовать их в написании кода
Польза
Знание алгоритмов расширяет инструментарий разработчика в решении практических задач
Удобство
Изучаются в университетском курсе на IT-специальностях, и часто встречаются на технических собеседованиях.
Узнаете о популярных алгоритмах и структурах данных
Познакомитесь со стандартными библиотеками языков программирования
Получите практический опыт решения сложных алгоритмических задач
Сможете в любой момент вернуться к лекциям и освежить знания. Доступ неограничен
Сможете применять полученные навыки при разработке программ
Сможете легко пройти техническое собеседование
Получите сертификат о прохождении курса «Алгоритмы и структуры данных» от proglib. academy
Научитесь писать более короткий и эффективный код
Ваши знания подтвердит официальный сертификат
При успешном прохождении курса вы получаете квалифицированный сертификат. Работодатель сможет проверить его действительность на сайте proglib.academy.
Сертификат вы получите после прохождения курса.
В этом видео обсуждается интерфейс очереди и способы его реализации. Одна из классических реализаций — двоичная куча. Разбираем её внутреннее устройство, асимптотики, возможные расширения. Находим её реализацию в стандартной библиотеке. Рассматриваем примеры задач, решаемых с помощью очереди с приоритетом.
Вебинар с разработчиком Яндекса Степаном Мацкевичем «Очередь с приоритетом»
Proglib.academy — онлайн-курсы от создателей одного из самых крупных IT-сообществ «Библиотека программиста». В нашем комьюнити уже более 800 000 разработчиков. Помогаем развивать технические навыки, изучить новые профессии и продвигаться в карьере. Учим решать сложные задачи и готовим к собеседованиям в Яндекс, FAANG, Samsung, Amazon и т. д.
Массивы. Указатели. Доступ к элементам. Линейный поиск. Двумерные массивы. Динамический массив.
Массивы
3
Бинарный поиск. Вставка и удаление элемента. Удаление нескольких элементов.
Алгоритмы на массивах
4
Понятие об АТД, интерфейсе. Односвязные, двусвязные списки. Основные операции. Реализации на массиве. Реализация на списке. Применение.
Списки. Стек, очередь, дек
5
Понятие о пирамиде (куче), построение пирамиды. Извлечение максимума, добавление элемента. std::priority_queue.
Очередь с приоритетом
6
Квадратичные сортировки. Сортировка слиянием. Быстрая и пирамидальная сортировка. std::sort. Сортировка подсчетом. Сложность алгоритмов по времени и памяти.
Основы сортировки
7
Поиск медианы и порядковых статистик методом QuickSelect.
Порядковые статистики
8
Виды деревьев. Обходы в глубину и в ширину. Двоичные деревья поиска. Необходимость балансировки. АВЛ-деревья и т.д.
Деревья
9
Хеш-таблицы и ассоциативный доступ. Методы разрешения коллизий. std::unordered_set, std::unordered_map.
Хеш-таблицы
10
Примеры жадных алгоритмов, их корректность. Задача о рюкзаке. Одномерная и двумерная динамика. Итерации с двумя индексами.
Жадные алгоритмы. Динамическое программирование
11
Виды и представление графов. Рекурсивные алгоритмы. Связность. Обходы в глубину и в ширину. Сильная связность, конденсация. Поиск кратчайших путей, алгоритм Дейкстры.
Графы и рекурсия
12
Символы, кодировки, юникод. Поиск в строках – алгоритмы Рабина-Карпа и Кнута-Морриса-Пратта. Бор.
Образование: Закончил механико-математический факультет МГУ им. М.В. Ломоносова в 2006 году, защитил кандидатскую диссертацию в 2010 году.
Место работы: разработчик Яндекс Go, руководитель сектора разработки сценариев организации поездок, преподаватель Факультета Инноваций и Высоких Технологий МФТИ
Преподаватели
Степан Мацкевич
Образование: Старший преподаватель ФКН НИУ ВШЭ, НИТУ МИСИС, аспирант департамента анализа данных и искусственного интеллекта ФКН НИУ ВШЭ.
Место работы: Инженер-программист, ведущий эксперт НИУ ВШЭ, цифровой ассистент и цифровой консультант НИУ ВШЭ.
Мария Горденко
Стоимость полного курса
Обучение проходит на платформе CoreApp. Занимайтесь в удобное время и в своем темпе. Вам будет доступен общий чат с сокурсниками и поддержка от куратора 24/7. Команда обучающего центра дает обратную связь по каждому домашнему заданию.
Если вы решите, что обучение вам не подходит, мы оформим возврат денежных средств в течение 7 дней после старта обучения.
Вам понравится учиться у нас или мы вернём деньги
Отзывы студентов
По наполнению курса, который я прохожу, нравится абсолютно все, разбираются все темы, в которые мне необходимо было погрузиться. Курс скорее для продвинутых.
Курс proglib.academy очень понравился. Для меня ценно было то, что освещались фундаментальные темы по математике, которые я не проходил в университете.
C помощью курса proglib.academy я хотел освежить знания и всегда иметь возможность вернуться к качественным заданиям. Курс с этой задачей справился, так что благодарю!
Лев Аркашов
Даниза Муссаева
По наполнению курса, который я прохожу: нравится абсолютно все, большое количество теории, разбираются все темы, в которые необходимо погрузиться. Курс скорее для продвинутых. Нравится подробный разбор доказательств, логичность изложения тем. Точно чувствую больше уверенности в своих знаниях. В общем, очень хороший курс, то, что я хотела, и отдельное спасибо за возможность проходить в своём режиме, совмещая с работой и за обратную связь от преподавателей.
Михаил Шпильман
Отличный курс по математике! Очень понятные и доходчивые объяснения от авторов. Прохождение помогло «восстановить» базовые знания школьной математики – как раз такой и искал. Как итог – смог решить экзаменационные примеры, которые перед прохождением курса ничего кроме страха не вызывали) Уже рекомендовал курс знакомому, у которого тоже «боязнь» математики и желание начать её осваивать).
Глеб Аксенов
Курс proglib.academy очень понравился. Для меня ценно было то, что освещались фундаментальные темы по математике, которые я не проходил в университете. С точки зрения развития математической культуры, на мой взгляд, курс очень полезен. Понравились дополнительные занятия по ML, хорошо «разбавляют» занятия по чистой математике. Я сейчас взял перерыв, через месяц планирую продолжить. Здорово, что есть год, чтобы пройти курс.
Часто задаваемые вопросы
От 3-х часов в неделю. Занятия в видеоформате длятся по 2 академических часа (1,5 часа). Также закладывайте время на выполнение домашней работы.
У вас будет куратор в Telegram-чате, а преподаватель лично проверит каждое домашнее задание и даст полезный совет на платформе Степик. Вы всегда сможете получить ответы на вопросы по теме урока, а также перенять опыт, профессиональные знания и узнать лайфхаки.
Да, вы можете оформить рассрочку на срок до 12 месяцев в банках-партнерах, и спланировать свой бюджет, разбив всю сумму на мелкие ежемесячные платежи.
Образовательные модули подойдут для специалистов IT-сферы, которые уже владеют хотя бы одним из языков ООП. В частности, курс подойдет Junior-разработчикам.
Чтобы понять, сможете ли вы заниматься самостоятельно и получить результат, отправьте заявку на консультацию. Мы поможем разобраться, достаточно ли у вас базовых знаний, и подойдет ли вам курс.
Работодатели проверяют опыт кандидатов трудными алгоритмическими задачами. Так компании тестируют не только сами знания, но и умение последовательных рассуждений в сфере разработки — главный навык для написания качественного кода.
Вы можете знать любой объектно-ориентированный язык программирования (Python, Java, PHP, C++, JavaScript, C# и др.).
Вы можете изучать материалы в удобном режиме и самостоятельно выбирать время для занятий. Доступ к курсу неограничен по времени. Более того, по окончании курса видеоуроки остаются с вами, поэтому вы можете вернуться к ним и освежить знания в любой момент.
Можете оставить свои контакты, и мы обязательно вам перезвоним, чтобы подобрать оптимальную программу, основываясь на вашем опыте и навыках.
Остались вопросы?
Остались вопросы, вы не знаете подходит ли курс лично вам. Заполните форму, мы свяжемся с вами в ближайшее время и подробно обо всем расскажем.