Анализ алгоритмов. Рекуррентные соотношения. Трудоемкость базовых алгоритмов сортировки и поиска. Основные приемы разработки эффективных алгоритмов. Структуры данных: списки, стеки, очереди,приоритетные очереди, система непересекающихся множеств, хеш-таблицы. Максимальный поток в сети и его приложения. Бинарные поисковые деревья, AVL- деревья, 2-3 деревья. Недетерминированные конечные автоматы, различные варианты определения. Детерминированные конечные автоматы. Их эквивалентность.