Алгоритмы и структуры данных — Master Code IT School

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

Ближайший набор: 08 Окт 2018

Какое место занимает курс в полной программе школы?
Это неминуемый этап на пути из школы в специалисты массивно-параллельной обработки больших объёмов данных. Понятно, что этот этап не могут обойти ни Аналитики Баз Данных, ни Data Science инженеры. Более того, специалисты DevOps и BackEnd-для-Web, не знающие, что такое сложность алгоритма, рискуют, вернее их наниматели рискуют перманентно сражаться с перфомансом.

Общий план курса. Что покрывает программа.

Анализ алгоритмов.
Анализ корректности.
Асимптотический анализ сложности по времени и памяти.
Задачи сортировки. От примитивных алгоритмов сортировки к быстрым, от быстрых к специальным. Подходы “Разделяи и властвуй”, бинарная куча, рандомизированные алгоритмы. Умножение Карацубы, Master Theorem, Очередь с приоритетами …
Задачи поиска. Ассоциативные массивы, как частная реализация абстрактных типов данных. Разновидности ассоциативных массивов — хеш-таблицы, кучи, индексы, связные списки. Влияние структуры на алгоритм поиска. Префиксные деревья и полиномиальные хеши. Универсальное, идеальное, расширяемое хеширование и другие способы убежать от коллизий.
Задачи на графах. Графы как структуры. Многообразие графов и задач на них. Обход графов, выход из лабиринтов, генерация лабиринтов, циклы. DAG, BFS, DFS, MST, UF-DSU, … Пути Эйлера и Гамильтона, максимальный поток в сети. Жадные алгоритмы и другие эвристики. Число Бэкона и графовые базы данных.
Динамическое программирование. Решение задач с помощью воображаемого собеседника. Техника, понижающая класс сложности задачи. Рекуррентный vs рекурсивный … Нечёткое сравнение текста …
Задачи обработки текста. Алгоритмы обработки текста. Алгоритмы сжатия данных. Редакционное расстояние …
Классы сложности и теория вычислимости. Проблема P ≠ (?) NP. Почему так. Зачем нужны эвристики. Какие известные задачи относятся к этим классам. Сведение задач.
Введение в вероятностные структуры данных и Генетические алгоритмы. Природа, примеры, область применения …

 

Требования к студентам:
Высшая математика уровня МГУ или мех-мата Каразина, незабытые основы мат-анализа, способность отличить дифференциал от производной, знание что такое предел последовательности, что быстрее растёт y = x или y = ln x и как умножить матрицу на вектор.
Всего то.

9900 грн
3 месяца 2 раза в неделю по 2 часа
27
54
среда/пятница 19:00 - 21:00