Skip to main content

Algorithms research group

The Algorithms Research Group researches the efficiency and practicality of algorithms.

An algorithm is a list of instructions for using a set of tools on given ingredients to produce a desired product. The tools and ingredients can be physical or virtual. For example, a cooking recipe is an algorithm which uses kitchen tools on food ingredients to produce a meal, while a computer program is an algorithm that uses computer instructions on data to produce an answer to a problem. Algorithms research concerns the efficient use of computing resources such as time and memory.

Our group aims to conduct end-to-end research, which means that we strive to implement and engineer theoretical results into fast software for real-world problems. To that end, we use our expertise in mathematics and algorithm design to develop algorithms for a specific problem. Our proficiency in software engineering and computer architecture lets us turn these theoretical findings into workable and fast software, which we test against real-world data repositories to prove their practicality. We cover a broad range of areas among them:

Computational Complexity: Studies the limits of what algorithms and computation can achieve.

Parametrized Algorithms: Provides tailored algorithms which make use of secondary properties of input data.

Matroid Theory and Problems: Researches mathematical objects called matroids which are the basis of many efficient algorithms.

String algorithms: Solves problems specific to string data, like documents, websites or DNA code. (Sparse) Graph algorithms: Investigates how a network's structure can help design faster algorithms.

Sublinear Algorithms: Explores algorithms which solve problems without reading the whole input.

Numerical analysis: Studies the mathematics and software of fundamental numerical algorithms, particularly in kernel methods, approximation theory, optimization and numerical linear algebra.


The Algorithms Research Group hosts regular seminars. If you are interested in giving a seminar please contact

Group members