|
||||||||||
|
Politecnico di Torino | |||||||||||||||||
Anno Accademico 2009/10 | |||||||||||||||||
01EIPHJ Algoritmi e programmazione avanzata |
|||||||||||||||||
Corso di Laurea in Ingegneria Delle Telecomunicazioni - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
Obiettivi dell'insegnamento
Il modulo completa l'avvio alla programmazione quale strumento per la soluzione di problemi. Si accentua il passaggio dalle capacitą analitiche a quelle progettuali. Il modulo presenta le soluzioni algoritmiche "classiche" dei problemi, e la teoria che sta alla loro base, con particolare riferimento a realizzazioni in C e affronta casi di studio di maggiori dimensioni risolti mediante strategie algoritmiche implementate in C.
|
Programma
- Analisi di algoritmi: analisi asintotica e complessitą di caso peggiore; notazione O, Q, W; equazioni alle ricorrenze
- Algoritmi elementari: ordinamento quadratico (selection sort, insertion sort), lineare (counting sort) e logaritmico (quicksort, heapsort, mergesort); attraversamenti di alberi e grafi - Strutture dati: rappresentazione dei dati in memoria; puntatori (o riferimento a oggetti); allocazione di memoria statica, su stack, e dinamica; strutture linkate; gestione della memoria in runtime; strategie per scegliere la struttura dati - Ricorsione: il concetto di ricorsione; funzioni matematiche ricorsive; procedure ricor-sive semplici; backtrack e implementazione della ricorsione; strategie divide-and-conquer - Paradigmi algoritmici: divide-and-conquer; greedy; programmazione dinamica - Algoritmi classici: tabelle di hash; alberi binari di ricerca e varianti; B-alberi; algoritmi sui grafi: cammini minimi; alberi ricoprenti minimi, reti di flusso. |
Laboratori e/o esercitazioni
Le esercitazioni seguiranno gli argomenti delle lezioni e saranno svolte in aula e in laboratorio. Le esercitazioni di laboratorio avranno come argomento lo sviluppo di programmi in linguaggio C.
|
Note |
Orario delle lezioni |
Statistiche superamento esami |
|