Algoritmi e strutture dati, 2007-08

Questa è la pagina dell'insegnamento Algoritmi e strutture dati del corso di laurea in Informatica, Università di Modena e Reggio Emilia, per l'A.A. 2007/08.

La pagina contiene le seguenti sezioni:

Orario delle lezioni

Avvisi (in ordine cronologico inverso)

25 febbraio 2009
Risultati dello scritto di oggi  Nella sezione relativa agli esami sono stati inseriti i risultati della prova scritta. Gli orali si terranno martedì prossimo (3 marzo 2009), con inizio alle ore 14.30, nello studio del docente presso il dip. di Ingegneria dell'Informazione
5 dicembre 2008
Date appelli  Nella sezione relativa agli esami sono state inserite le date degli appelli della sessione invernale. Si ricorda agli studenti che è necessario prenotarsi utilizzando il sistema esse3. Si ricorda altresì che è possibile iscriversi un massimo di tre volte per anno solare.
18 settembre 2008
Risultati dello scritto del 17 settembre  Nella sezione relativa agli esami sono stati inseriti i risultati della prova scritta. Gli orali si terranno martedì prossimo (23 settembre 2008), con inizio alle ore 9.00, nello studio del docente presso il dip. di Ingegneria dell'Informazione
28 agosto 2008
Date appelli  Nella sezione relativa agli esami è stata inserita la data del prossimo appello. Si ricorda agli studenti che è necessario prenotarsi utilizzando il sistema esse3. Si ricorda altresì che è possibile iscriversi un massimo di tre volte per anno solare.
7 luglio 2008
Risultati dello scritto di oggi  Nella sezione relativa agli esami sono stati inseriti i risultati della prova scritta. Gli orali si terranno giovedì prossimo (10 luglio 2008), con inizio alle ore 11.00, nello studio del docente presso il dip. di Ingegneria dell'Informazione
17 giugno 2008
Risultati dello scritto di oggi  Nella sezione relativa agli esami sono stati inseriti i risultati della prova scritta. Gli orali si terranno giovedì prossimo (19 giugno 2008), con inizio alle ore 16.00, nello studio del docente presso il dip. di Ingegneria dell'Informazione
27 maggio 2008
Date appelli  Nella sezione relativa agli esami sono state inserite le date dei prossimi appelli (sessioni di giugno-luglio). Si ricorda agli studenti che è necessario prenotare l'appello utilizzando il sistema esse3. Si ricorda altresì che è possibile iscriversi un massimo di tre volte per anno solare.
25 gennaio 2008
Inizio lezioni  Martedì 4 marzo 2008

Obiettivi, materiale didattico e programma dettagliato

Obiettivi formativi

L'insegnamento introduce i concetti e le tecniche di base per lo sviluppo di algoritmi nonché le principali metodologie per la loro analisi. Tale introduzione viene fatta seguendo quasi tutti gli argomenti classici per un corso introduttivo di algoritmica: strutture dati di base, algoritmi di ordinamento, strutture dati per la ricerca, tecniche algoritmiche (divide-et-impera, greedy e programmazione dinamica), algoritmi su grafo, metodologie per la valutazione del consumo delle risorse spazio-tempo. L'insegnamento viene svolto "in parallelo" (cioč nello stesso semestre) a quello di "Programmazione II", nel quale alcuni dei più significativi algoritmi vengono ripresi in esercitazioni di laboratorio ed implementati utilizzando il linguaggio C++. Il passaggio alla fase implementativa è particolarmente utile per verificare concretamente il grado di padronanza raggiunto nell'uso delle tecniche algoritmiche. Le conoscenze e competenze acquisite tramite i due insegnamenti portano inoltre lo studente ad apprezzare l'importanza di una accurata fase progettuale in cui siano attentamente considerate la correttezza e l'efficienza degli algoritmi.

Libro di testo

T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein
Introduzione agli algoritmi e strutture dati
McGraw-Hill

Libri di consultazione

P. Crescenzi, G. Gambosi, R. Grossi
Strutture di dati e algoritmi
Pearson Education Italia S.r.L.

C. Demetrescu, I. Finocchi, G.F. Italiano
Algoritmi e strutture dati
McGraw-Hill

Programma dettagliato

Argomento Riferimenti al libro di testo Ore previste
Ruolo degli algoritmi nell'elaborazione dei dati Capitolo 1 3
Introduzione alle tecniche di analisi e di progettazione Capitolo 2 5
Forme asintotiche Capitolo 3 3
Ricorrenze Capitolo 4, escluso il paragrafo 4.4 3
Esercizi sulla prima parte del corso 3
Heapsort Capitolo 6 5
Quicksort Capitolo 7, esclusi i paragrafi 7.3 e 7.4 3
Ordinamento in tempo lineare Capitolo 8, escluso il paragrafo 8.4 3
Mediane e statistiche d'ordine Capitolo 9 escluso il paragrafo 9.2, ma incluso il materiale del problema 9.1 3
Esercizi sulla seconda parte del corso 3
Grafi e alberi: definizioni e proprietà Appendici B.4 e B.5 2
Strutture dati elementari Capitolo 10, esclusi i paragrafi 10.2 e 10.3 3
Hashing Capitolo 11, esclusi i paragrafi 11.3.3, 11.5 e tutte le dimostrazioni 4
Alberi binari di ricerca Capitolo 12, escluso il paragrafo 12.4 3
Esercizi sulla terza parte del corso 3
Programmazione dinamica Capitolo 15 6
Algoritmi greedy Capitolo 16, solo i paragrafi 16.1, 16.2 e 16.3 4
Esercizi sulla quarta parte del corso 3
Algoritmi elementari per grafi Capitolo 22, escluso il paragrafo 22.5 5
Alberi di connessione (o copertura) minimi Capitolo 23 4
Cammini minimi da sorgente unica Capitolo 24, esclusi i paragrafi 24.5 e 24.6 5
Esercizi sulla quinta parte del corso 3

Modalità d'esame

Prova scritta e colloquio orale

Scarica un file (in formato ps o pdf) che contiene alcuni esercizi assegnati in precedenti appelli d'esame.


Scarica il documento che riassume gli obiettivi formativi, gli argomenti e le modalità d'esame dell'insegnamento (in formato ps oppure pdf).

Appelli e risultati

Data appello Ora Luogo Esito scritto
17 giugno 2008 11.00 Dipartimento di Matematica, Aula III Visualizza
8 luglio 2008 11.00 Dipartimento di Matematica, Aula V Visualizza
23 luglio 2008 11.00 Dipartimento di Matematica, Aula V
17 settembre 2008 14.30 Dipartimento di Matematica, Aula V Visualizza
21 gennaio 2009 15.00 Dipartimento di Matematica, Aula V
25 febbraio 2009 11.00 Dipartimento di Matematica, Aula V Visualizza
 
http://algo.ing.unimo.it
Ultimo aggiornamento della pagina: 5 dicembre 2008.
Mauro Leoncini (leoncini AT unimore DOT it)

Valid HTML 4.01! Valid CSS! Eurolinux Software Patent Petition