Scopo del corso è fornire allo studente le nozioni necessarie per progettare, valutare e implementare algoritmi efficienti, utilizzando le più avanzate tecniche di programmazione e le strutture dati adeguate.
Tali nozioni includono le tecniche di programmazione ricorsiva e Divide-et-impera, le principali strutture dati avanzate e l'analisi di complessità. Verranno, inoltre, forniti i concetti necessari a valutare quali tecniche e quali strutture dati scegliere per affrontare al meglio i diversi tipi di problemi computazionali.
Conoscenza e comprensione
Capacità di applicare conoscenza e comprensione
Autonomia di giudizio (Ability of making judgements)
Abilità comunicative (Communication skills)
Capacità di apprendimento (Learning skills)
Il metodo di insegnamento principale è la didattica frontale associata alla discussione delle conoscenze acquisite.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.
| Argomenti | Riferimenti testi | |
|---|---|---|
| 1 | Fondamenti. Per incominciare | [T1] Capitolo 1 e 2 |
| 2 | Descrivere i tempi di esecuzione | [T1] Capitolo 3 |
| 3 | Divide-et-impera | [T1] Capitolo 4 |
| 4 | Heapsort | [T1] Capitolo 6 |
| 5 | Quicksort | [T1] Capitolo 7 |
| 6 | Ordinamento in tempo lineare | [T1] Capitolo 8 |
| 7 | Mediane e statistiche d’ordine | [T1] Capitolo 9 |
| 8 | Strutture dati elementari | [T1] Capitolo 10 |
| 9 | Hashing | [T1] Capitolo 11 |
| 10 | Alberi binari di ricerca | [T1] Capitolo 12 |
| 11 | Alberi rosso-neri | [T1] Capitolo 13 |
| 12 | Programmazione dinamica | [T1] Capitolo 14 |
| 13 | Algoritmi avidi | [T1] Capitolo 15 |
| 14 | Arricchire le strutture dati | [T1] Capitolo 17 |
| 15 | B-alberi | [T1] Capitolo 18 |
| 16 | Algoritmi elementari per grafi | [T1] Capitolo 20 |
| 17 | Alberi di connessione minimi | [T1] Capitolo 21 |
| 18 | Cammini minimi | [T1] Capitolo 22 e 23 |
| 19 | Flusso massimo | [T1] Capitolo 24 |