Введение. Базовые понятия. Асимптотика. Примеры. Методы оценки. Метод «разделяй и властвуй». Сортировки сравнением. Рандомизация Линейные структуры. Коллекции. Очередь. Очередь с приоритетом. Куча. Сортировка за линейное время. Статистика. Поиск. Хэширование. Хэш-таблицы. Карп-Рабин. Деревья. 2-3. Red-Black. B-tree. Динамическое программирование. – Фибоначчи – Задача пути на Манхэттене – Работа со строками. – Задачи биоинформатики – Задачи обработки естественного языка Поиск кратчайшего пути. Архитектура и алгоритмы -кэш -процессоры