- Docente: Luciano Margara
- Crediti formativi: 12
- SSD: INF/01
- Lingua di insegnamento: Italiano
- Moduli: Luciano Margara (Modulo 1) Pietro Di Lena (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Cesena
- Corso: Laurea in Ingegneria e scienze informatiche (cod. 8615)
Conoscenze e abilità da conseguire
Al termine del corso, lo studente conosce: - gli algoritmi per risolvere problemi computazionali di base su strutture dati elementari; - le tecniche di base per calcolare il costo computazionale degli algoritmi; - le classi di complessità computazionale P, NP e NP-hard. In particolare, lo studente è in grado di: - progettare algoritmi efficienti per risolvere semplici problemi computazionali; - stimare in ordine di grandezza il costo computazionale degli algoritmi; - analizzare la complessità computazionale di problemi computazionali di base; - dare una valutazione circa l'efficienza e la correttezza di un algoritmo; - elaborare e presentare un progetto per la risoluzione di problemi computazionali di base.
Contenuti
matematica discreta elementare per calcolare gli ordini di grandezza; - Algoritmi di ordinamento; - Mediano e selezione; - Strutture dati elementari: pile, code, alberi, grafi - algoritmi di visita su grafi - algoritmi di base su grafi -classi P e NP -problemi NP-Hard
Testi/Bibliografia
T. Cormen, C. Leiserson, R. Rivest. Introduction to algorithms. MIT Press.
Metodi didattici
Lezioni ed esercitazioni frontali
Modalità di verifica e valutazione dell'apprendimento
Esame scritto e orale. Progetto.
Strumenti a supporto della didattica
Lucidi e Libro di testo
Link ad altre eventuali informazioni
http://www.cs.unibo.it/~margara/Didattica/Algoritmi/asd.html
Orario di ricevimento
Consulta il sito web di Luciano Margara
Consulta il sito web di Pietro Di Lena