Курс на платформе Stepik состоит из двух частей «Алгоритмы: теория и практика. Методы» и «Алгоритмы: теория и практика. Структуры данных».
В первой части знакомят с динамическим программированием и основами жадных алгоритмов. Во второй — с наиболее популярными структурами данных. Здесь рассказывают, как их подбирают и используют на практике.
Вам подойдет этот курс, если вы:
- старшеклассник;
- студент первого-второго курсов;
- хорошо знакомы с школьным курсом математики;
- знаете хотя бы один популярный язык программирования — Java, C++, Python.
Ключевые навыки, которые вы освоите на этом курсе:
- динамическое программирование;
- использование жадных алгоритмов;
- реализация массивов, списков, стеков, хеш-таблиц и других базовых структур данных.
Учебная программа (часть 1):
- введение: числа Фибоначчи, НОД, О-символика;
- введение: практические задачи по пройденному материалу на Java, C++ и Python;
- жадные алгоритмы — теория;
- решение задач по пройденной теории: коды Хаффмана;
- «разделяй и властвуй» — теория;
- решение задач: бинарный поиск, число беспорядка;
- динамическое программирование — теория;
- решение задач: дистанция редактирования;
- заключение.
Первая часть курса «Алгоритмы: теория и практика» доступа по ссылке.
Учебная программа (часть 2):
- основные структуры данных;
- приоритетные очереди, наивные реализации;
- хеш-таблицы;
- бинарные деревья поиска.
Вторая часть курса «Алгоритмы: теория и практика» доступа по ссылке.
В курсе даны задачи повышенной сложности, выполнение которых необязательно. При обучении предусматривается самостоятельной поиск информации по некоторым темам. Студентам выдается сертификат от Computer Science Center.
Вступительное видео к первой части курса «Алгоритмы: теория и практика»:
Вступительное видео ко второй части курса «Алгоритмы: теория и практика»: