Efficient algorithms 7.5 credits
About the course
The course covers techniques for constructing effective algorithms and typical data structures used in these. Special consideration is given to the fact that efficiency depends not only on the inherent asymptotic behavior of the algorithms but also on the specific problem instances on which it is applied. Standard algorithms and data structures need therefore often be chosen and adapted to solve the problem as effectively as possible.
Part 1, Algorithmic techniques and data structures, 3 credits, deals with effective algorithmic techniques (divide-and-conquer, greedy, dynamic programming), their usages, pros, and cons, illustrating these techniques using central algorithms, and discussing examples of effective data types (Eg heaps, red-black trees, union-find) and their implementation.
Part 2, Problem solving and algorithm analysis, 4.5 credits,
consists of the student, both theoretically and empirically, examining variants of a known algorithm with respect to efficiency and writing a report on this. The entire chain from initial, usually unclear specified research questions to the completed algorithmic solution and its theoretical and empirical analysis are included. The part trains the student's ability to go from an unclearly formulated problem specification to an exact formulation, develop an appropriate algorithmic solution, if possible improve it by adapting it to the problem's particularities, as well as analyzing and discussing its effectiveness.
Apply
Contact us
Your message goes to Infocenter, and they’ll make sure it gets to the right person – so you get the best and most relevant reply.