Programma del corso di Algoritmi Prof.ssa Anselmo (in vigore dall’a.a. 2012/13) Ore di Lezioni frontali: 48 1. Introduzione al concetto di algoritmo e all’analisi asintotica (parr. 2.1, 2.1, 2.4). 2. La tecnica di progetto di algoritmi Divide et Impera e relativi esempi di applicazione: Mergesort, Quicksort, Moltiplicazione di interi. Ricorrenze: alberi di ricorsione, metodo di sostituzione, Master Theorem (o teorema dell’esperto o teorema fondamentale delle ricorrenze) (senza dimostrazione). (parr. 5.1, 5.2, 5.5 di [KT] e altri testi consigliati). 3. La tecnica di progetto di algoritmi della Programmazione Dinamica e relativi esempi di applicazione: Calcolo di numeri di Fibonacci, 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: algoritmo BFS, DFS e applicazioni. DAG e ordinamento topologico. Calcolo di cammini minimi: algoritmo di Dijkstra e algoritmo di BellmanFord. Calcolo di alberi ricoprenti minimi (MST): 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. Altri testi consigliati: T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduzione agli Algoritmi, seconda edizione, McGraw Hill. C. Demetrescu, I. Finocchi, G.F. Italiano, Algoritmi e Strutture Dati, Mc-Graw Hill, 2004. 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/algo1213.htm