Ass.-Prof. Dr. Kathrin Hanauer, B.Sc. M.Sc.

Research Group Theory and Application of Algorithms

Währinger Straße 29, 1090 Wien

Room: 6.31

Consultation: any time in general, but better send a short e-mail beforehand

Contact: kathrin.hanauer@...


I am interested in the design, analysis, and experimental evaluation of fast algorithms and especially in Algorithm Engineering. Algorithm Engineering connects algorithm theory with practice and focuses on the performance of algorithms in real-life scenarios. Besides what is typically considered a “fast” algorithm (one that runs in polynomial time and with a small exponent), my research is also concerned with so-called “intractable” problems with exponential worst-case running time.

Much of my recent work is devoted to dynamic algorithms: The typical, “static” setting is as follows: an algorithm receives some input, does some computations, and returns a solution. If the data changes, it has to recompute everything from scratch. By contrast, a dynamic algorithm can handle the changes to the data itself and only needs to update its solution – which can save a lot of time, especially on huge data sets!

I particularly enjoy working with graphs and graph algorithms. Graphs are a powerful tool for modelling all sorts of relationships and interactions. Depending on the scenario, they may also exhibit very different structure and characteristics, and being aware of this unlocks potential for further improvements of the algorithms that operate on them.

Current and previous research areas (selection):


Courses I’m teaching or have taught at the University of Vienna can be found here.

Student theses:

We have many open topics suitable for student thesis both on Bachelor’s and Master’s level. To do your Bachelor’s or Master’s thesis with us, you should have

Possible topics and subject areas (updated/extended regularly):

If you would be interested in a topic or area that is not listed here, feel free to suggest your own topic!

Recently completed topics (@UniVie):

Software Projects

image libAlgora - An Algorithms Library

A modular algorithms library with support for dynamic graphs, written in C++.

image DJ Match

C++ implementation of a number of different algorithms that solve the k-disjoint matchings problem. See the corresponding paper for details on the problem and our algorithms.

image O'Reach

C++ implementation of our algorithm to speedup reachability queries in static graphs. See also the website of the corresponding paper.

image Gravisto - A Graph Drawing Toolkit

Actually a toolkit for drawing graphs, but contains also a number of other algorithms. Written in Java.