|
Algoritmi e Strutture Dati
|
alberto.montresor@unitn.it
|
Introduzione
Obiettivi del corso
Il corso ha lo scopo di presentare i concetti fondamentali dell'algoritmica, ovvero quella branca dell'informatica
che riguarda la definizione e la progettazione degli algoritmi, l'analisi della loro correttezza ed efficienza, la
dimostrazione delle loro limitazioni e complessità e lo studio dei dati da essi elaborati.
Verranno presentati algoritmi per risolvere alcuni dei problemi fondamentali (quali ordinamento e selezione),
strutture dati elementari (quali pile, code, alberi, grafi, etc.), strutture dati avanzate (alberi red-black, heap,
tabelle hash, etc.). Infine, particolare enfasi verrà dedicata alle metodologie di progettazione di algoritmi
(programmazione dinamica, metodo greedy, divide et impera, backtracking, etc.) e all'analisi degli algoritmi
(notazione asintotica, ricorrenze, etc.).
Prerequisiti
Si assume che lo studente conosca i concetti presentati nei corsi di Analisi, Matematica
Discreta 1-2, Programmazione 1-2, più qualche elemento di calcolo delle probabilità.
Mailing list
Il corso è dotato di una mailing
list.
Annunci
- Il corso inizia Giovedì 23 Febbraio 2012 alle ore 14.30.
- L'assistente del corso è il Dott. Alessio Guerrieri -
guerrieri@science.unitn.it
Lezioni
- 23/2, Introduzione al corso, Introduzione
- 24/2, Introduzione, Analisi di algoritmi - Parte 1
Anno precedente
- 25/2, Analisi di algoritmi - Parte 2
- 28/2, Analisi di algoritmi - Parte 3, Funzioni di complessità - Parte 1
- 02/3, Funzioni di complessità - Parte 2
- 07/3, Esercitazione 1
- 09/3, Funzioni di complessità - Parte 3
- 10/3, Tipi di dato e strutture di dati, Strutture dati elementari
- 11/3, Alberi
- 14/3, Alberi binari di ricerca
- 18/3, Esercitazione
- 21/3, Esercitazione
- 23/3, Grafi - 1
- 24/3, Grafi - 2
- 25/3, Tabelle hash (Guerrieri)
- 28/3, Esercitazione
- 30/3, Strutture dati speciali
- 31/3, Scelta della struttura dati
- 01/4, Divide-et-impera
- 04/4, Esercitazione
- 06/4, Programmazione dinamica 1
- 07/4, Programmazione dinamica 2
- 08/4, Algoritmi "avanzati"
- 11/4, Esercitazione pre-compito (L)
- 13/4, Greedy 1
- 14/4, Greedy 2
- 15/4, Esercitazione (Guerrieri)
- 18/4, Esercitazione pre-compito
- 20/4, Greedy 3
- 21/4, Esercitazione - domande
- 27/4, Backtrack
- 28/4, Esercitazione pre-compito (L)
- 29/4, Esercitazione pre-compito
- 02/5, Primo mid-term (L)
- 04/5, Ricerca locale 1
- 05/5, Ricerca locale 2
- 06/5, Correzione mid-term
- 11/5, Esercitazione (Guerrieri)
- 12/5, Esercitazione (Guerrieri)
- 16/5, Esercitazione
- 18/5, Algoritmi probabilistici
- 19/5, Problemi intrattabili
- 23/5, Esercitazione
- 25/5, Esercitazione
- 27/5, Secondo mid-term (L)