Алгоритмы и структуры данных от Otus
Вы научитесь
Программа курса
Вас ждет онлайн-занятия, на которых вы изучите различные алгоритмы и структуры данных и научитесь их применять, а также разработаете итоговый проект для портфолио.
Простые алгоритмы и базовые структуры данных
Вы узнаете, что такое циклы и рекурсия, научитесь с ними работать. Вы поймете, как правильно выполнять домашние задания на данном курсе. Вы рассмотрите полезные алгебраические алгоритмы и узнаете, как их можно применять в программировании. Вы изучите базовые понятия битовой арифметики и рассмотрите существующие битовые операции. Вы узнаете виды базовых структур данных и научитесь с ними работать.
Вы узнаете, что такое циклы и рекурсия, научитесь с ними работать.
Вы поймете, как правильно выполнять домашние задания на данном курсе.
Вы рассмотрите полезные алгебраические алгоритмы и узнаете, как их можно применять в программировании.
Вы изучите базовые понятия битовой арифметики и рассмотрите существующие битовые операции.
Вы узнаете виды базовых структур данных и научитесь с ними работать.
Алгоритмы сортировки
Вы рассмотрите виды простых сортировок данных и узнаете, как они реализованы. Вы изучите метод сортировки, основанный на структуре данных двоичная куча. Вы узнаете, что такое быстрая сортировка и рассмотрите алгоритм, который использует внешнюю память для сортировки. Вы изучите способ, который предназначен для сортировки массивов, которые не имеют повторяющихся данных.
Вы рассмотрите виды простых сортировок данных и узнаете, как они реализованы.
Вы изучите метод сортировки, основанный на структуре данных двоичная куча.
Вы узнаете, что такое быстрая сортировка и рассмотрите алгоритм, который использует внешнюю память для сортировки.
Вы изучите способ, который предназначен для сортировки массивов, которые не имеют повторяющихся данных.
Деревья поиска
Вы узнаете, что такое АВЛ дерево и потренируетесь его использовать. Вы научитесь работать с деревьями, гарантирующими логарифмический рост количества узлов. Вы рассмотрите другие варианты деревьев поиска и научитесь с ними работать.
Вы узнаете, что такое АВЛ дерево и потренируетесь его использовать.
Вы научитесь работать с деревьями, гарантирующими логарифмический рост количества узлов.
Вы рассмотрите другие варианты деревьев поиска и научитесь с ними работать.
Хеш-таблицы
Вы изучите алгоритм хеширования и научитесь работать с хеш-таблицами и хеш-функциями. Вы рассмотрите различные методы разрешения коллизий и сможете их использовать. Вы узнаете, что такое универсальное и идеальное хеширование и поймете, в каких случаях их следует применять.
Вы изучите алгоритм хеширования и научитесь работать с хеш-таблицами и хеш-функциями.
Вы рассмотрите различные методы разрешения коллизий и сможете их использовать.
Вы узнаете, что такое универсальное и идеальное хеширование и поймете, в каких случаях их следует применять.
Теория графов
Вы узнаете, что такое графы и поймете, для чего они нужны в программировании. Вы научитесь использовать графы для проведения поиска и сортировки. Вы узнаете, что такое минимальный скелет графа и потренируетесь его находить. Вы поймете, что такое кратчайший путь в графе и изучите алгоритмы его поиска. Вы научитесь выделять необходимое количество памяти компьютера для работы с графами. Вы узнаете в чем состоит задача коммивояжёра и получите алгоритм ее решения.
Вы узнаете, что такое графы и поймете, для чего они нужны в программировании.
Вы научитесь использовать графы для проведения поиска и сортировки.
Вы узнаете, что такое минимальный скелет графа и потренируетесь его находить.
Вы поймете, что такое кратчайший путь в графе и изучите алгоритмы его поиска.
Вы научитесь выделять необходимое количество памяти компьютера для работы с графами.
Вы узнаете в чем состоит задача коммивояжёра и получите алгоритм ее решения.
Алгоритмы на строках
Вы изучите алгоритм, который решает задачу поиска подстроки в строке. Вы научитесь искать все вхождения строк-образцов в основную строку с помощью алгоритма Ахо-Корасика. Вы изучите алгоритм Кнута-Морриса-Пратта и потренируетесь применять его на практике. Вы научитесь уменьшать объем памяти, которую занимают данные при помощи алгоритмов сжатия. Вы рассмотрите алгоритмы, которые предназначены для шифрования данных, и сможете их использовать.
Вы изучите алгоритм, который решает задачу поиска подстроки в строке.
Вы научитесь искать все вхождения строк-образцов в основную строку с помощью алгоритма Ахо-Корасика.
Вы изучите алгоритм Кнута-Морриса-Пратта и потренируетесь применять его на практике.
Вы научитесь уменьшать объем памяти, которую занимают данные при помощи алгоритмов сжатия.
Вы рассмотрите алгоритмы, которые предназначены для шифрования данных, и сможете их использовать.
Динамическое программирование
Вы изучите алгоритмы кэширования, которые помогают увеличить скорость работы приложений. Вы рассмотрите методы динамического программирования и научитесь применять их на практике.
Вы изучите алгоритмы кэширования, которые помогают увеличить скорость работы приложений.
Вы рассмотрите методы динамического программирования и научитесь применять их на практике.
Олимпиадное программирование
Вы решите сложную задачу олимпиадного уровня по программированию. Вы изучите алгоритм Dancing Links, который предназначен для решения головоломки из поликуба.
Вы решите сложную задачу олимпиадного уровня по программированию.
Вы изучите алгоритм Dancing Links, который предназначен для решения головоломки из поликуба.
Вероятностные алгоритмы
Вы изучите структуру данных, которая предназначена для быстрого определения, что элемент НЕ входит в множество. Вы рассмотрите алгоритмы хеширования, преобразующие текст в список значений. Вы освоите алгоритмы, предназначенные для оптимизации и уменьшения объема данных.
Вы изучите структуру данных, которая предназначена для быстрого определения, что элемент НЕ входит в множество.
Вы рассмотрите алгоритмы хеширования, преобразующие текст в список значений.
Вы освоите алгоритмы, предназначенные для оптимизации и уменьшения объема данных.
Проектная работа
Вы выберете интересующую вас тему и узнаете, как будет организована проектная работа. Вы получите консультацию от преподавателей по поводу дз и темы вашего проекта. Вы защитите ваши проектные работы перед преподавателями и получите от них отзыв. Вы подведете итоги курса и получите финальное наставление от преподавателей.
Вы выберете интересующую вас тему и узнаете, как будет организована проектная работа.
Вы получите консультацию от преподавателей по поводу дз и темы вашего проекта.
Вы защитите ваши проектные работы перед преподавателями и получите от них отзыв.
Вы подведете итоги курса и получите финальное наставление от преподавателей.