Il corso si propone di fornire le conoscenze e le metodologie di base per la progettazione e l'analisi di algoritmi e strutture dati efficienti. In particolare, verranno illustrate le tecniche di base per l'analisi della complessità degli algoritmi e per la valutazione dell'efficienza delle principali strutture dati. Tali concetti verranno illustrati con l'ausilio di algoritmi per risolvere problemi fondamentali (ad es., ordinamenti, ricerche) e di strutture dati elementari e non (liste, code, alberi di ricerca, alberi bilanciati, grafi).
2. Algoritmi di Ordinamento: InsertionSort e analisi per casi
3. Analisi di algoritmi ricorsivi
E’ Professore Associato in Informatica dal dicembre 2002 presso il Dipartimento di Scienze Fisiche dell’Università “Federico II” (Sezione di Informatica).
L’attività di ricerca riguarda l’applicazione dei metodi formali all’Informatica, in particolare in relazione all’applicazione di tecniche formali alla modellazione e alla verifica automatica di sistemi hardware e software, sviluppo di tecniche model checking, teoria degli automi, tecniche di astrazione automatica, logiche temporali, logiche per la rappresentazione della conoscenza.
Ha conseguito la laurea in Scienze dell’Informazione nel dicembre del 1994, presso l’Università di Milano. Ha conseguito il titolo di Dottore di Ricerca in Ingegneria Informatica nel febbraio 1999 presso l’Università di Genova, discutendo una tesi sulla verifica automatica di sistemi multi-agente.
Dal marzo 2000 all’ottobre 2002 ha ricoperto il ruolo di Ricercatore Universitario presso il Dipartimento di Scienze Fisiche dell’Università “Federico II”.