Sapienza University of Rome Computer Science Department

Algorithms and Data
Structures Group


Abu Abdullah Muhammad ibn Musa al-Khwarizmi

The design and analysis of algorithms and data structures is one of the core areas within computer science. Our group investigates a broad range of theoretical and practical aspects of modern algorithmics. We address both fundamental problems and new challenges raised by technological developments of computer platforms and by new computing phenomena, such as communication networks and massive data sets. We use both analytical and experimental methods to support the design and analysis process.

Our interests include algorithms for graphs and networks, parallel, distributed and randomized algorithms, resilient algorithms and data structures, graph drawing, algorithms for massive data sets, and Web information retrieval.

More information about our research activities (including lists of publications) can be found on the Web pages of the individual members of the group.


Algorithm Engineering
In this context we study how the general models and techniques used by theoreticians can fit to actual existing machines... [more]
Algorithms for Massive Data Sets
We study how algorithm design techniques and technological aspects of complex memory systems interact and adapt to each other... [more]
Distributed Algorithms
We study basic combinatorial problems in a distributed setting, such as vertex and edge colorings. In recent work we succesfully extended the primal-dual schema... [more]
Graph Coloring Generalizations
We focus on some graph coloring generalizations that arose first from a channel assignment problem in radio networks, looking for exact and approximation efficient coloring algorithms on specific graph classes... [more]
Graph Drawing
We design algorithms for authomatically generating clear and readable geometric representations of graphs, networks and related combinatorial structures... [more]
Probabilistic Protocols for Networks
Probablistic networks are often the solution of choice for many network problems. In recent work we developed simple and very effective probabilistic protocols... [more]
Resilient Algorithms and Data Structures
In this context, we are interested in the design of algorithms and data structures that are able to perform efficiently the tasks they were designed for, even in the presence of unreliable or corrupted information... [more]
Tree Encoding
We work on algorithmic aspects related to encoding, decoding, and properties of these codes... [more]
Web Information Retrieval
We are interested in basic algorithmic issues that remain central to (web) information retrieval such as nearest neighbour algorithms, caching policies and optimization... [more]


More details and link to courses can be found here.

  • A first course on Algorithms
  • A second course on Algorithms
  • A first course on Computer Programming
  • Computability and Complexity
  • Complexity
  • Network Algorithms
  • Parallel and Distributed Algorithms
  • Probabilistic Algorithms
  • Visualization Algorithms


Algorithmic Principles for Building Efficient Overlay Computers. [more]
Dynamically Evolving Large-scale Information Systems. [more]
Grant of Yahoo! Research. [more]
Centro computazionale di RicErca sui Sistemi COmplessi. [more]
Algorithms for Massive Information Structures and Data Streams. [more]
Web Ram
Web Retrieval and Mining. [more]

HTML 4.01 - CSS 2 - Powered by Saverio Caminiti