Онлайн-курс
Алгоритмы
и структуры данных

От классических алгоритмов до блокчейна
на языке программирования Python 3

О курсе

Курс «Алгоритмы и структуры данных» разработан для начинающих программистов, которые хотят научиться проектировать эффективные и надежные алгоритмы для успешного решения рабочих задач, а также увеличить шансы пройти собеседование на более высокие позиции.

Обучение алгоритмам проходит в режиме онлайн с изучением теоретической и практической части на языке Python. После просмотра обучающих видео-уроков ученики закрепляют материал практикой, также на Питоне.

В рамках курса вы познакомитесь как с классическими алгоритмами поиска и сортировки, так и с более современными: луковая маршрутизация, блокчейн, цифровая подпись.

Чему вы научитесь

Пройдя все уроки, изучив схемы и исходные коды, а также решив задания вы научитесь:

  • Пользоваться классическими структурами данных.

  • Выбирать оптимальные структуры под задачи.

  • Определять сложность алгоритмов.

  • Оптимизировать алгоритмы.

  • Проектировать рекурсивные алгоритмы на Python.

  • Оптимизировать рекурсивные функции.

  • Строить и обходить деревья и графы.

  • Сортировать массивы и связные списки.

  • Быстро искать данные в массивах, деревьях и тексте.

  • Искать и генерировать большие простые числа.

  • Более эффективно использовать Python.

  • Проектировать надежные и быстрые алгоритмы.

  • Работать с хэш-таблицами, словарями и ассоциативными массивами.

  • Шифровать и сжимать данные.

  • Генерировать и обмениваться ключами шифрования.

  • Сортировать данные, в том числе по нескольким критериям.

  • Использовать комбинаторые алгоритмы и функции.

  • Перебирать и оптимизировать деревья.

Серьезный курс
для будущих профессионалов

Алгоритмы — основа любой программы, а умение писать алгоритмы — ключевой навык современного разработчика.

Мы подготвили продуманные HD-уроки с большим количеством практики,
чтобы вы не только понимали как работают алгоритмы и устроены структуры данных,
но и могли самостоятельно их проектировать, анализировать и оптимизировать.

  • 2000 слайдов и схем

    Каждый урок содержит подробную схему и описание работы алгоритма на Питоне.

  • 100 анимаций

    В особо сложных и важных местах
    мы добавлии анимацию.

  • 200 исходников

    Кроме схем и графиков,
    все алгоритмы содержат хорошо документированные исходники
    на языке Python.

Недостаточно знать только язык программирования, нужно уметь эффективно его использовать.

Программа курса

Последовательная программа с короткими видео-уроками и практическими заданиями.
Обучение построению алгоритмов на примере Python — одном из самых популярных языков программирования.

  1. 1

    Введение в алгоритмы

    7 уроков

    Познакомитесь с основными характеристиками алгоритмов.
    Узнаете простые и эффективные способы оценки сложности алгоритмов.

  2. 2

    Структуры данных

    10 уроков

    Познакомитесь с базовыми структурами данных.
    Научитесь работать со связными списками и массивами.
    Узнаете, что такое стек, очередь и дек в Python.
    Научитесь выбирать правильную структуру данных в зависимости от задач.

  3. 3

    Сортировка

    13 уроков

    Познакомитесь с популярными алгоритмами сортировки на Python.
    Научитесь выбирать алгоритмы сортировки под задачи и данные.
    Научитесь сортировать по нескольким полям.
    Узнаете, что такое устойчивые сортировки.

  4. 4

    Поиск

    2 урока

    Познакомитесь с линейными и бинарным поиском.
    Научитесь использовать интерполяционный поиск.

  5. 5

    Численные алгоритмы

    7 уроков

    Научитесь генерировать случайные числа, а также вычислять наибольший общий делитель.
    Узнаете об алгоритмах быстрого возведения в степень.
    Расширите свои знания о простых числах и научитесь строить решето Эратосфена, а также быстро проверять на простоту любое число.
    Познакомитесь с базовыми численными методами.

  6. 6

    Хэширование

    9 уроков

    Узнаете, что такое хэш-таблицы и как устроены python-словари и ассоциативные массивы.
    Научитесь разными способами пробирования и борьбе с коллизиями.
    Познакомитесь с фильтрами Блума.

  7. 7

    Рекурсия

    11 уроков

    Подробно изучите механизм рекурсивных вызовов.
    Познакомитесь с базовыми рекурсивными алгоритмами Python: вычислением факториала, построением ряда Фибоначчи, задачами о 8 ферзях и ханойской башне.
    Освоите комбинаторные алгоритмы: сочетания, повторения и размещения.
    Научитесь оптимизировать рекурсию и приводить рекурсивные алгоритмы к итеративным.
    Познакомитесь с фракталами.

  8. 8

    Деревья

    12 уроков

    Познакомитесь с деревьями.
    Научитесь обходить деревья в ширину и глубину.
    Узнаете как искать элементы в двоичном дереве.
    Познакомитесь с прошитыми бинарными деревьями, АВЛ-деревьями, 2-3 деревьями, B-деревьями, а также красно-черными деревьями.

  9. 9

    Деревья принятия решений

    11 уроков

    Узнаете, что такое деревья принятия решений.
    Научитесь методу полного перебора, а также методу ветвей и границ.
    Освоите приемы оптимизации деревьев.
    Научитесь производить поиск по деревьям принятия решений.

  10. 10

    Алгоритмы на графах

    20 уроков

    Познакомитесь с сетями и графами.
    Научитесь обходить деревья, а также находить кратчайший путь.
    Освоите топологическую сортировку.
    Узнаете как об алгоритме поиска циклов.

  11. 11

    Строковые алгоритмы

    10 уроков

    Научитесь искать информацию в текстах.
    Познакомитесь с алгоритмами Кнута-Морриса-Пратта,
    а также Бойера-Мура-Хорспула.
    Узнаете, что такое синтаксические деревья.

  12. 12

    Криптография

    12 уроков

    Познакомитесь с подстановочными и перестановочными шифрами.
    Узнаете как работают SP-сети и блочное шифрование.
    Научитесь применять протокол Диффи-Хеллмана.
    Узнаете несколько вариантов использования алгоритмов с открытым ключом, включая шифрование, цифровую подпись, а также гибридные схемы.
    Узнаете о криптографическом хэшировании и его применении на практике.
    Познакомитесь со схемой луковой маршрутизации и узнаете как работает Tor.

  13. 13

    Сжатие

    5 уроков

    Узнаете об алгоритмах сжатия.
    Научитесь кодировать серии данных.
    Познакомитесь с кодом Хаффмана.
    Освоите сжатие Лемпеля-Зива-Велча.
    Узнаете как работает сжатие с потерями на примере растровых изображений и музыкальных-форматов.

  14. 14

    Блокчейн (бонус)

    4 урока

    Познакомитесь с устройством блокчейна.
    Научитесь генерировать блоки и встраивать их в цепочку.
    Узнаете об основных проблемах блокчейна.

Кому подойдет этот курс

Курс «Алгоритмы» подойдет для подготовленных программистов на Python,
а также студентами и разработчикам на других языках,
которые хотят расширить свои навыки эффективными инструментами.

  • Алгоритмы для начинающих разработчиков

    Программистам на Python

    Научитесь писать эффективные и быстрые алгоритмы на Питоне. Значительно расширите горизонты своих навыков.

    Сможете лучше подготовиться к собеседованиям в серьезные компании.

  • Алгоритмы для студентов

    Студентам

    Познакомитесь с классическими алгоритмами на практике, а не только в теории.

    Сможете отточить навыки программирования и подготовиться к сессии.

  • Алгоритмы для программистов

    Программистам самоучкам

    Восполните недостающие навыки по алгоритмизации. Научитесь писать быстрый код и использовать эффективные структуры данных для решения бизнес-задач.

Качество высшего образования

С 2019 года курс «читается» студентам Московского университета экономики и права им. Витте
на специальностях «Прикладная информатика» и «Бизнес-информатика».

Студенты

Как проходит обучение алгоритмам

Курс по алгоритмам состоит из видео уроков, а также практических заданий на языке Python.
После регистрации вы сможете ознакомиться с бесплатными уроками и заданиями, чтобы вы могли оценить сложность тем и подачу материала.

После оплаты курса, вы получите полный онлайн доступ ко всем видео-урокам, исходным кодам, заданиям, решениям преподавателя и форуму поддержки.

Сертификат

Ученики, которые изучат теорию и решат все задачи — получают сертификат о прохождении курса по алгоритмам.

Вы можете добавить сертификат в резюме или отправить ссылку работодателю.

Сертификат — это подтверждение ваших навыков и знаний.

Сертификат
выдан
Ивану
Петрову
и подтверждает, что он закончил онлайн курс
Алгоритмы и структуры данных
Продолжительность курса: 12 часов 42 минуты
Уроков пройдено: 133/133 (100%)
Заданий решено: 73/73 (100%)
Генеральный директор
Shultais Education
Никита Шультайс

Компании, в которых работают наши ученики

  • Mail.ru
  • ВТБ
  • Сбербанк
  • МТС
  • Промсвязьбанк
  • Магнит
  • СК Согласие
  • Райффайзен Банк
  • Высшая школа экономики (ВШЭ)
  • РУДН
  • Сибур
  • СГК
  • Контур
  • Epam
  • Playrix

Стоимость курса

  • 133 урока
  • 73 задания
  • Сертификат
  • Поддержка преподавателя
  • Доступ к курсу навсегда
5900 ₽
  • Можно в рассрочку

Регистрация

или
Письмо со ссылкой для доступа отправлено.
Проверьте почту.

Письмо не пришло? Посмотрите в спаме.
Регистрируясь, вы соглашаетесь с условиями предоставления услуг (пользовательское соглашение).

Остались вопросы?

  • 1. Подойдет ли мне ваша учебная программа?

    В данном курсе мы убрали сложные математические расчеты, формулы и доказательства, и сконцентрировались на практическом применении алгоритмов. Это уменьшает сложность курса в целом, однако для его успешного прохождения нужно хорошо владеть языком Python.

  • 2. Как, когда и в какое время я буду учиться?

    Все уроки в записи и доступны Online сразу после регистрации — обучение можно начинать в любой момент.
    Смотреть уроки вы можете в любое удобное время с любого устройства, хотя мы рекомендуем пользоваться компьютером или ноутбуком.

  • 3. Могу ли я прервать обучение, а затем возобновить доступ?

    Да, можете. У нас нет дедлайнов и ограничений по времени прохождения курса.
    Можете спокойно ехать в отпуск, а затем продолжать занятия.

    Однако мы не рекомендуем делать большие переревы, чтобы не забыть ранее пройденный материал.
    В случае длительных перерывов вы всегда можете начать с начала.

  • 4. Какой язык программирования вы используете в курсе?

    Все примеры мы даем на Python. Однако мы стараемся минимизировать использование особеностей самого Python и приводим универсальный код, который с минимальными изменениями будет работать и в других языках.

  • 5. Что делать если у меня возникнут сложности во время обучения?

    Под каждым уроком и заданием есть мини-форум, где ученики могут общаться с преподавателем и друг с другом.
    Если у вас возникли вопросы, то смело задавайте их через форум и вам обязательно помогут.

    Обычно помощь приходит в течение 24 часов.