This is an old revision of the document!
Teoria Algoritmi e Strutture Dati
News
- Inserisci qui la data: Inserisci qui il testo
- 29 Febraio 2016: La pagina del corso è online
Informazioni Generali
Docente:
Orario delle Lezioni:
- Martedì 09 - 11 (Aula, A. Turing)
- Mercoledì 09 - 11 (Aula, A. Turing)
Ricevimento studenti:
- Lunedì 17:30 - 19:30 Palazzo Battibocca - 2nd Piano - stanza n.CS-05
Obiettivi del Corso
D1 - CONOSCENZA E CAPACITÀ DI COMPRENSIONE
- Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:
- Comprendere la nozione di complessità computazionale di un algoritmo in tempo e in spazio
- Illustrare le principali tecniche di progettazione di algoritmi
- Conoscere le strutture dati di base e le principali strutture dati evolute per risolvere problemi specifici di ricerca e rappresentazione di strutture complesse
D2 - CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE
- Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:
- Applicare le principali tecniche di progettazione di algoritmi
- Classificare ed analizzare gli algoritmi in base alla loro complessità computazionale
- Ideare e implementare algoritmi per risolvere problemi specifici utilizzando le tecniche e le strutture dati conosciute
D3 - AUTONOMIA DI GIUDIZIO
- Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:
- Scegliere (ed implementare) le strutture dati più adatte alla risoluzione di un dato problema realizzando opportuni compromessi tra esigenze conflittuali come costo, semplicità ed efficienza.
D4 - ABILITÀ COMUNICATIVE
- Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:
- Produrre una relazione dettagliata sull’ideazione e l’implementazione di un progetto
- Avere la capacità di lavorare in gruppo per la realizzazione di un progetto
D5 - CAPACITÀ DI APPRENDIMENTO
- Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:
- Ricercare, comprendere e implementare algoritmi e strutture dati esistenti, ma non trattati nel corso, per la risoluzione di problemi specifici
Contenuti del Corso
- Tecniche di base per l'analisi della complessità computazionale: analisi asintotica
- Tecniche di progetto (divide-et-impera, golosa, dinamica)
- Analisi degli algoritmi e delle strutture dati di base
- Algoritmi fondamentali (ricerca, ordinamento, ecc)
- Alberi: visite, alberi binari di ricerca, alberi bilanciati
- Grafi: rappresentazione, algoritmi di visita
- Algoritmi su grafi (cammini minimi, minimo albero ricoprente, ecc.)
Materiale
Slide del Corso
Testi di Riferimento
- T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduzione agli Algoritmi e Strutture Dati, McGraw-Hill, 2005
- C. Toffalori, F. Corradini, S. Leonesi, S. Mancini, Teoria della computabilità e della complessità, McGraw-Hill, 2005
Esami
Date Esami A.A. 2015/2016
- 1a sessione
- 2a sessione
- 3a sessione
- 4a sessione
Regole di esame:
Risultati Esame
- N/A