Michael T. Goodrich and Roberto Tamassia Data Structures and Algorithms in Java -
Third Edition
Wiley, ISBN 0-471-64452-8.
Pila, coda e coda a doppio ingresso (Capitolo 4)
Vettore, lista e sequenza (Capitolo 5)
Alberi (Capitolo 6)
Coda a priorità (Capitolo 7)
Mappa, Dizionario e Tabella Hash (Capitolo 8 tranne paragrafo 8.4)
Alberi binari di ricerca (Capitolo 9 introduzione e paragrafo 9.1)
Insiemi ed Union-Find (Capitolo 10 paragrafo 10.6 e gli
appunti del docente)
Grafi direzionati e non direzionati (Capitolo 12, tranne paragrafo 12.4.4,
e gli appunti del docente)
Teoria
Libro di testo
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest
Introduction to Algorithms
McGraw Hill, ISBN 0-07-013143-0.
Definizione della struttura dati grafo e sua rappresentazione in memoria
Algoritmi di visita di grafi (BFS e DFS)
Componenti connesse di un grafo.
Ordinamento topologico di un grafo diretto aciclico
Minimo albero ricoprente
Cammini minimi
Massimo flusso e massimo abbinamento (maximum matching)
Invece del testo "Introduction to Algorithms" può essere utilizzato
il testo in italiano:
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
Introduzione agli algoritmi e strutture dati 2/ed
McGraw Hill, 2005
Capitoli: 22, 23, 24, 25, 26 (tranne paragrafi 26.4 e 26.5)