Algorithm Analysis and Design(English)(1),22/23-P

Algorithm design and analysis is essential in all areas of computer science and provides a rigorous framework for optimization research. The study course provides an introduction to algorithm design by examining common algorithm design paradigms from greedy optimization, divide and conquer, dynamic programming and linear programming, as well as NP-completion theory.
The study course allows the student to master the essential ideas of algorithm analysis and development, including:
- analysis of asymptotic behaviour;
- basic graph algorithms: search in breadth and depth;
- main algorithm development methodologies: fragment and board, greedy algorithms, dynamic programming, network flow analysis;
- NP completeness concepts and approximation algorithms.