Diploma Universitario in
Ingegneria Informatica
Corso di
Fondamenti di Informatica II
secondo modulo
Docente : Prof. Giuseppe
De Giacomo
Materiale didattico
Testi adottati:
[CLNS] M. Cadoli, M. Lenzerini, P. Naggar,
A. Schaerf, Fondamenti della progettazione dei programmi:
principi, tecniche e loro applicazione in C++, Citta'StudiEdizioni,
UTET Libreria, 1997.
[CLPS] M. Cadoli, E. Panizzi, A. Schaerf., M. Lenzerini. Esercizi
di progettazione dei programmi in C++. CittáStudiEdizioni,
UTET Libreria, 1998.
[CLR] T.H. Cormen, C.E. Leiserson, R.L. Rivest,
Introduzione agli Algoritmi, Jackson Libri, 1999.
Programma d'esame per l'A.A. 1999/2000
- Ereditarieta' (10 ore)
- ereditarieta' in C++
[CLNS cap.5, cap.13, cap.14]
- ereditarieta' e tipi astratti
[CLNS cap.13, cap.14]
- Complessita' (6 ore)
[CLNS cap.8, CLR cap. introduttivi]
- Strutture dati (20 ore)
- Strutture elementari: Pila, Coda, Albero binario, Albero
[Ripasso, CLNS cap. 12, cap. 13, cap 14]
- Grafo, visita in profondita', visita in ampiezza
[Ripasso, CLNS cap. 13, approfondimento, CLR cap. 23]
- DAG, ordinamento topologico
[CLR cap. 23]
- Heap, heapsort, code di priorita'
[CLPS cap. 11, CLR cap. 7]
- Dizionari, Alberi di ricerca, Alberi AVL
[CLPS cap. 12, CLR cap. 13]
- Hashing
[CLR cap. 11]
- Tecniche algoritmiche (14 ore)
- Divide at impera:
es. mergesort
[CLNS cap. 19, CLR cap. 1.3.1]
- Algoritmi golosi:
es. shortest path (Dijkstra),
alg. golosi per problemi di ottimizzazione: bisaccia, risorsa
[CLNS cap. 18, CLR cap. 17, cap. 25.2]
- Programmazione dinamica:
es. all pair shortest path (Floyd-Warshall), transitive closure
[CLR cap. 16 intro, cap. 26.2]
Note:
(1) Le sigle CLNS, CLPS, CLR si riferiscono
alla lista di testi che compongono il materiale didattico.
(2) Di tutte le strutture dati e gli algoritmi proposti, si deve
conoscere la realizzazione in C++ secondo la metodologia in CLNS.
(3) Per il programma dettagliato si veda il registo delle lezioni.
Ritorno alla home page del corso
di Fondamenti di Informatica II - secondo modulo