ALGORITMI E STRUTTURE DATI - MOD.2
- Anno accademico
- 2020/2021 Programmi anni precedenti
- Titolo corso in inglese
- ALGORITHMS AND DATA STRUCTURES - PART 2
- Codice insegnamento
- CT0371 (AF:306320 AR:172529)
- Lingua di insegnamento
- Italiano
- Modalità
- In presenza
- Crediti formativi universitari
- 6 su 12 di ALGORITMI E STRUTTURE DATI
- Livello laurea
- Laurea
- Settore scientifico disciplinare
- INF/01
- Periodo
- Annuale
- Anno corso
- 2
- Sede
- VENEZIA
- Spazio Moodle
- Link allo spazio del corso
Inquadramento dell'insegnamento nel percorso del corso di studio
Risultati di apprendimento attesi
- conoscenza e comprensione dei principali algoritmi e strutture dati;
- comprensione e valutazione della complessità dei problemi informatici e capacità di selezionare metodi adeguati per la modellazione e risoluzione del problema.
Capacità di applicare conoscenza e comprensione:
- capacità logico-deduttive e di problem solving;
- capacità di formalizzare e implementare soluzioni per problemi reali e identificazione di pattern di soluzione appropriati;
Capacità di giudizio
- Sapere formulare ed argomentare soluzioni, sviluppando anche un approccio critico alla valutazione di soluzioni alternative.
Prerequisiti
Contenuti
Alberi binari di ricerca.
Heap e code di priorità.
Tabelle Hash.
Ordinamento: Insertion sort, Merge sort, Heapsort, Quicksort.
Ordinamento in tempo lineare: counting sort, radix sort.
Programmazione dinamica.
Testi di riferimento
algorithms (3rd Edition), MIT Press, 2009. (Traduzione italiana a cura di
Livio Colussi edita da McGraw-Hill, Milano, 2010.)
C. Demetrescu, I. Finocchi, G. F. Italiano. Algoritmi e strutture dati
(seconda edizione), McGraw-Hill, 2008.
Modalità di verifica dell'apprendimento
Durante la prova orale lo studente deve dimostrare di conoscere gli argomenti svolti durante il corso e di saperli esporre in modo formale.
Durante l'anno sono svolte 4 esercitazioni in laboratorio che consistono di esercizi in linguaggio C. Lo scopo è di implementare strutture di dati, tecniche di progettazione e algoritmi visti a lezione e fare esercizio sul calcolo della complessità. Lo svolgimento di tali esercitazioni permette di ottenere un bonus.