Single-Course
Engelsk
5 ECTS
Algorithms and Data Structures 2
Overall Course Objectives
To provide the student with an understanding of the techniques involved in the construction and analysis of advanced algorithms. To strengthen the student’s ability to construct algorithms.
See course description in Danish
Learning Objectives
- classify advanced data structures and algorithms design patterns.
- describe the properties of advanced data structures and algorithms.
- analyse algorithms with respect to the use of resources.
- prove the correctness of algorithms.
- recover the underlying abstract structure of a real problem.
- adapt generic algorithms to new problem settings.
- design efficient data structures and algorithms.
- implement advanced algorithms.
- describe an algorithm in a comprehensible way.
Course Content
Basic graph algorithms (shortest paths, flows). Data structures for indexing, predecessor and subset sum (e.g. search trees, Fenwick trees). Algorithms for string matching. Techniques for the design and analysis of algorithms (dynamic programming, divide-and-conquer, amortised analysis). Randomized algorithms. NP.
Teaching Method
Lectures and exercises.