Learning Outcomes
Students will understand in depth the concept of algorithm complexity and especially the notions of polynomial and exponential complexity. They will be familiar with the classification of various problems based on the complexity of their solutions. Furthermore, they will obtain knowledge for exact and approximate algorithms, as well as heuristic and metaheuristic algorithms.
Course Content (Syllabus)
Algorithm. Types of complexity. Categorization of algorithms. Examples of polynomial time algorithms. Problem complexity. Problem classification acoording to their complexity and their classes. Exact and approximate algorithms. Heuristic and metaheuristic algorithms. Examples of practical exact algorithms with exponential complexity.
Additional bibliography for study
"Computational Complexity"
by Ch. Papadimitriou
"Introduction to Algorithms"
by T. H. Cormen, Ch. E. Leiserson, R. L. Rivest, C. Stein
"Computational Complexity: A Modern Approach"
by S. Arora, B. Barak