Programma del corso di Algoritmi (ord. l. 270)
Prof.ssa Anselmo
(in vigore dall’a.a. 2009/10)
Ore di Lezioni frontali: 48
1. Introduzione al concetto di algoritmo e all’analisi asintotica (parr. 1.2, 2.1, 2.4 di [KT]).
2. La tecnica di progetto di algoritmi Divide et Impera e relativi esempi di applicazione: Mergesort,
Quicksort, Moltiplicazione di interi. Ricorrenze. (parr. 5.1, 5.2, 5.5).
3. La tecnica di progetto di algoritmi della Programmazione Dinamica e relativi esempi di
applicazione: Calcolo di numeri di Fibonacci, Combinazioni, Problemi di ottimizzazione:
Scheduling di risorse, Somma di sottoinsiemi, Zaino intero, Problemi su stringhe: allineamento di
sequenze e struttura secondaria dell’RNA (parr. 6.1, 6.2, 6.4, 6.5).
4. La tecnica di progetto di algoritmi Greedy e relativi esempi di applicazione: Scheduling di
intervalli, Scheduling che minimizza il ritardo, Compressione Dati e Codici di Huffman. (parr. 4.1,
4.2, 4.8).
5. Algoritmi su grafi. Connettività e visita di grafi. DAG e ordinamento topologico. Calcolo di
Cammini Minimi (algoritmo di Dijkstra e algoritmo di programmazione dinamica). Calcolo di
alberi ricoprenti minimi (algoritmi di Prim, Kruskal e Reverse-Delete). Clustering. (parr. 3.1, 3.2,
3.3, 3.4, 3.5, 3.6, 4.4, 6.8 senza l’implementazione dell’algoritmo di Prim).
6. Calcolo di flusso su grafi e applicazione al problema del matching di grafi bipartiti. (parr. 7.1,
7.2, 7.5).
Testo di riferimento:
[KT] Kleinberg, Tardos. Algorithm Design. Pearson Addison Wesley.
Testi di consultazione:
[CLR1] T. H. Cormen, C. E. Leiserson, R. L. Rivest, Introduzione agli Algoritmi, prima edizione,
McGraw Hill.
[CLRS2] T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduzione agli Algoritmi,
seconda edizione, McGraw Hill.
[DFI]C. Demetrescu, I. Finocchi, G.F. Italiano, Algoritmi e Strutture Dati , Mc-Graw Hill, 2004.
[CGG]P. Crescenzi, G. Gambosi, R. Grossi, Strutture di dati e algoritmi, Pearson, Addison Wesley
Si veda anche il materiale disponibile su http://www.dia.unisa.it/professori/anselmo/algo0910.htm