Search for contacts, projects,
courses and publications

Algoritmi e Strutture Dati 1

Description

OBIETTIVI

Gli algoritmi e le strutture dati sono fondamentali per l'informatica.

Si può dire che sono l'essenza dei sistemi informatici. Inoltre, l'efficienza di un sistema dipende in modo cruciale dall'efficienza degli algoritmi su cui si basa.  Più in genere, lo studio degli algoritmi fa comprendere a fondo la natura dei problemi e quindi di tutte le possibili soluzioni, indipendentemente dal linguaggio di programmazione o da altri aspetti implementativi.  Un obiettivo del corso è di imparare a sviluppare e analizzare algoritmi.  In pratica si tratta di risolvere problemi algoritmici. Un altro obiettivo è di conoscere alcuni algoritmi e strutture dati fondamentali.

 

CONTENUTO

Il corso copre le nozioni basilari di complessità asintotica (Big-O, Omega, Theta, ecc.), strategie generali quali divide-et-impera, greedy e dynamic programming, algoritmi di base quali ordinamento e ricerca, strutture dati basilari quali pile, code, liste, heap, alberi, e grafi, e i loro algoritmi di fondamentali.

 

IMPOSTAZIONE PEDAGOGICO-DIDATTICA

Lezioni teoriche accompagnate da numerosi esempi di programmazione algoritmica.

 

MODALITÀ D'ESAME

Esami scritti, uno durante il semestre, uno alla fine; più esercizi da risolvere a casa.

 

RIFERIMENTI BIBLIOGRAFICI

  • Introduzione agli algoritmi e strutture dati, Terza Edizione di Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest

People

 

Carzaniga A.

Course director

Chiodini L.

Assistant

Additional information

Semester
Fall
Academic year
2020-2021
ECTS
5
Language
Italian
Education