В курсе разобраны основные алгоритмические методы (жадные алгоритмы, «разделяй и властвуй», динамическое программирование), а также реализация этих алгоритмов на языках C++, Java и Python.
Начальные требования:
- знание одного из языков программирования (C++, Java, Python, Octave, Haskell) на базовом уровне: циклы, массивы, списки, очереди;
- базовые знания математики: доказательство от противного, доказательство по индукции, логарифм, экспонента.