Real-world Graphs represent real relationships among things, actually millions/billions of things. Designing efficient algorithms able to deal with this huge amount of data is a continuous challenge. I am particularly interested in algorithms able to enumerate all the solutions of a problem in these graphs.


Click here to access the interactive book to learn basics of Python. Here, you can also access the interactive book to learn Algorithms and Data Structures in Python. These are a shorten version of the original books you can find at Runestone Interactive. These books have been modified by me for the lectures of Laboratorio di Algoritmi at Informatica Umanistica, University of Pisa (see Teaching section). The work is on going.

Personal Web Site

Click here to see my personal web site. There you can find more details about my CV, my publications, my readings, and so on. From time to time I use to post on this site news about my research or things that I see around.

Author of a book, conference papers, and journal papers on graph algorithms with applications to enumeration, web crawling, bioinformatics, real-world graph analysis, information retrieval, mobile ad hoc networks, and computational linguistic. Check out google scholar to know my h-index or number of citations.
  • Enumeration Algorithms: Author of a book (published by Atlantis Press, 2015) and other publications in this field. Co-author of the current best algorithm to list all the paths and cycles in a graph (SODA 2013), improving Johnson Algorithm (1975). Co-author of the current best algorithm to list all the maximal cliques in a graph (ICALP 2016).
  • Web Crawling: One of the BUbiNG developers; BUbiNG is the publicly available web crawler currently with the highest performances (downloading, storing, and managing billions of web pages), developed at LAW (Laboratory of Web Algorithmic), University of Milan.
  • Algorithms for Real-World Graph Analysis: Co-author of the current best algorithms to compute: diameter, hyperbolicity, and top-central nodes (closeness centrality) in huge graphs. The diameter algorithm (TCS 2013) has been used to compute the diameter of Facebook networks (1.2 billions of nodes) by Backstrom, Boldi, Rosa, Ugander, and Vigna in "Four degrees of separation" (WebSci 2012) (popular paper reported by The New York Times, (325):B1, 21 November 2011).
  • Bioinformatic: Collaborator of INRIA (Institut National de Recherche en Informatique et en Automatique) BAMBOO & BAOBAB Team,Université Claude Bernard (Lyon 1), headed by Marie-France Sagot, working on metabolic networks and NGS (New Generation Sequence), designing ad hoc enumeration algorithms.


a.a. 2016-2017 (in italian)


a.a. 2015-2016 (in italian)

Laboratorio di ALGORITMICA (Cod. 429AA) CdS IFU-L INFORMATICA UMANISTICA (con Prof. Francesco Romani).

Laboratorio di ALGORITMICA E LABORATORIO - Corso Matricole pari (cod. 008AA) (con Linda Pagli e Dr. Rossano Venturini).

  • Orario delle Lezioni: Martedì h.14:00 – 16:00 in Aula I
  • Ricevimento su appuntamento

a.a. 2014-2015

PhD Course Big Data (with Prof. Paolo Ferragina, see here)

  • Lecture 18 March 2015, 15:00, Gerace - Diameter computation in real-world huge graphs. [slides]
  • Lecture 20 March 2015, 11:00, Seminari EST - Distance distribution approximation. [slides]
  • Lecture 25 March 2015, 15:00, Seminari EST - Probabilistic counting and sketches with applications. [slides]
  • Lecture 31 March 2015, 11:00, Seminari EST - Overview on centrality measures in complex networks. Web Crawling. The slides have been kindly provided by Prof. Paolo Boldi. [slides crawling, slides centrality]
  • Short CV

    Click here to see a more detailed CV.

    • Assistant Professor (Ricercatore a Tempo Determinato A) at University of Pisa, since February 2016.
    Past Position:
    • Research Fellow at University of Pisa. March 2015 -- January 2016
    • Research Fellow at University of Milan, hosted by LAW, Laboratory for Web Algorithmics (NADINE FET EU project). March 2013 -- February 2015.
    • PhD degree in Computer Science at University of Florence, advised by Prof. Pierluigi Crescenzi (From January 2010 to December 2012). Subject: Algorithms for Biological Graphs: Analysis and Enumeration. PhD defence: April 29th 2013.
    • Master's Degree cum Laude in Computer Science at University of Florence; 1 A.Year instead of the 2 expected (A.Year 2007-2008). Graduation Date: April 29th 2009.
    • Bachelor's Degree cum Laude in Computer Science at University of Florence; 3 A.Years as expected (From A.Year 2004-2005 to A.Year 2006-2007). Graduation Date: September 28th 2007.
    • Best Italian PhD Thesis on "Algorithms, Automata, Complexity and Game Theory" 2013. Italian Chapter of the EATCS (European Association for Theoretical Computer Science).


    mail: marino at di dot unipi dot it

    Dipartimento di Informatica
    Università di Pisa
    Largo Bruno Pontecorvo 3
    56127 Pisa, Italy
    tel: +39 050 221 3112
    My office is here


    These are my publications. Click here to see my profile on DBLP, or here to see it on Google Scholar.

    Created by BootstrapOcean