Algoritmi e Strutture Dati
Modulo 2
Jocelyne Elias
https://www.unibo.it/sitoweb/jocelyne.elias/
Moreno Marzolla
https://www.moreno.marzolla.name/
Dipartimento di Informatica—Scienza e Ingegneria (DISI)
Università di Bologna
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0
International (CC BY-SA 4.0) License. To view a copy of this license, visit
http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons,
543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.
Algoritmi e Strutture Dati 2
Presentiamoci
●
Modulo 2 (I ciclo)
– Jocelyne Elias
–
[email protected] – Tutor: ---
●
Orario delle lezioni
– Giovedì 12:00 – 15:00, Aula G1
– Venerdì 09:00 – 12:00, Aula G1
– Lunedì 13:00 – 16:00, Aula Cremona
– https://www.unibo.it/it/studiare/insegnamenti-competenze-trasversali-moocs/insegnamenti/
insegnamento/2025/501520/orariolezioni
●
Ricevimento
– Da concordare via mail
Algoritmi e Strutture Dati 3
Sito web del Modulo 2
●
Piattaforma Virtuale
– Avvisi
– Lucidi delle lezioni
– Dispensa di esercizi svolti
Algoritmi e Strutture Dati 4
Bibliografia
●
Testo adottato
– Alan Bertossi, Alberto Montresor,
Algoritmi e strutture di dati Terza
Edizione, 2014, Città Studi, ISBN:
9788825173956
●
Testi di consultazione
– Camil Demetrescu, Irene Finocchi,
Giuseppe F. Italiano, Algoritmi e strutture
dati 2/ed, 2008, McGraw-Hill, ISBN:
9788838664687
– Thomas H. Cormen, Charles E.
Leiserson, Ronald L. Rivest, Clifford
Stein, Introduzione agli algoritmi e
strutture dati 3/ed, 2010, McGraw-Hill,
ISBN: 9788838665158
Algoritmi e Strutture Dati 5
Programma
●
Grafi e algoritmi di visita di grafi (BFS, DFS)
●
Alberi di copertura (Spanning Trees)
●
Cammini minimi
●
Analisi ammortizzata degli algoritmi
●
Tecniche algoritmiche
– Divide-et-impera
– Greedy
– Programmazione dinamica
●
Macchine di Turing e teoria della calcolabilità (se avanzerà
tempo)
Algoritmi e Strutture Dati 6
Prerequisiti
●
Programmazione + Lab. di prog.
– Algoritmi e Strutture Dati ≠ Programmazione
– In questo corso non si impara a programmare, perché dovreste
già essere in grado di farlo
●
Nozioni di base di algebra e analisi matematica
– Sommatorie, polinomi, ordini di grandezza delle funzioni,
disequazioni
Algoritmi e Strutture Dati 7
Scopo del corso
●
Contenuto ●
Metodo
– Una panoramica di problemi – Principi e tecniche per
noti e loro soluzioni risolvere problemi
– Elenco di algoritmi e algoritmici
strutture dati standard – Come risolvere nuovi
– Come valutare l'efficienza problemi, applicando
degli algoritmi soluzioni note o
“inventando” varianti alle
soluzioni note
Algoritmi e Strutture Dati 8
Modalità d'esame
●
Progetto da svolgere individualmente
– 3-4 esercizi/algoritmi da progettare e realizzare in Java
– 3 set di progetti diversi:
●
uno per la sessione invernale (dicembre/gennaio/febbraio
2026)
●
uno per la sessione estiva (giugno-luglio)
●
uno per la sessione autunnale (settembre)
– Specifiche disponibili circa un mese prima della consegna
– Consegna tramite la piattaforma "Virtuale"
Algoritmi e Strutture Dati 9
Modalità d'esame cont.
●
Un progetto sufficiente consente l'accesso all'orale per la
sessione cui si riferisce il progetto
●
La prova orale include
– Discussione del progetto
– Domande su tutti gli argomenti svolti a lezione e durante le
esercitazioni
Algoritmi e Strutture Dati 10
Regole d'esame
●
L'esame è un momento ufficiale e va affrontato con
serietà
●
Si sono verificati in passato casi di gravi irregolarità
– Tali situazioni sono state (e saranno) sanzionate con la
massima intransigenza
– Esame annullato, da ripetere con nuovo progetto.
●
L'esame orale è ugualmente un momento ufficiale
– È sempre possibile rifiutare il voto e ritentare l'esame
(nuovo progetto + nuovo orale)
Algoritmi e Strutture Dati 11
FINE
Algoritmi e Strutture Dati 12