Esame di Fondamenti di Informatica II

Esame di Fondamenti di Informatica II
Corso di Laurea in Ingegneria Informatica
(canale didattico di Ingegneria delle Reti e dei Servizi Informatici)
Facoltà di Ingegneria
Università degli Studi di Roma “La Sapienza” - Polo di Rieti
Prova scritta – 18 Settembre 2008
Esercizio 1
Si sviluppi in linguaggio Java un metodo ricorsivo, il cui costo computazionale in funzione della
dimensione dell’input possa essere descritto dalla seguente equazione di ricorrenza:
T(n) = T(n/2) + O(1)
Si risolva quindi l’equazione di ricorrenza (illustrare tutti i passaggi) in modo da determinare il
costo computazionale del metodo sviluppato.
Esercizio 2
Si illustri un algoritmo di ordinamento a scelta (Java o pseudocodice) tra InsertionSort,
SelectionSort e HeapSort. Si discuta dettagliatamente il costo computazionale dell’algoritmo scelto,
e lo si applichi passo passo al vettore seguente:
{ 2, 10, 12, 11, 3, 7, 1, 52, 27, 9, 3 }
Esercizio 3
Si illustri una rappresentazione a scelta per grafi non diretti, tra liste di adiacenza e matrice di
adiacenza. In particolare, per la rappresentazione scelta, si determini il costo computazionale delle
seguenti operazioni (motivare le risposte): archiIncidenti (v), aggiungiVertice (v), aggiungiArco
(x, y), sonoAdiacenti (u, v). Si sviluppi quindi un metodo Java che, dato in input un grafo nella
rappresentazione scelta, restituisca true se ogni nodo ha lo stesso grado, false altrimenti.
Determinare infine il costo computazionale del metodo sviluppato.
pag. 1/2
Esercizio 4
Si definiscano i concetti di delimitazione superiore (upper bound) e delimitazione inferiore (lower
bound) alla complessità di un problema. Si forniscano quindi un upper bound ed un lower bound
per il problema dell’individuazione di un minimo albero ricoprente in un grafo non diretto
(motivare brevemente le risposte).
Esercizio 5
Si illustri dettagliatamente (implementazione Java o pseudocodice) l’algoritmo di Dijkstra per il
problema dei cammini minimi in un grafo. Se ne discutano le prestazioni asintotiche e lo si applichi
al grafo seguente, a partire dal nodo S:
1
A
2
3
B
C
2
10
S
2
E
4
F
5
D
G
2
pag. 2/2