Algoritmi e Strutture Dati I
Quinto Appello -- 1 Settembre 1999
Esercizio 1. (9 punti) Data una lista di interi, determinare l'ordine di complessità della seguente funzione Pascal con parametri d'ingresso , :
function f( L : LIST; n : integer ) : integer;
var i, c : integer;
P : LIST;
begin
if (n = 0) then f := 1
else begin
c := 0;
P := L;
for i := 1 to n do
begin
c := c + P^.elem;
P := P^.next;
end;
f := c + f( L, (3*n) div 5 ) * f( L, (2*n) div 5 )
end
end.
Esercizio 2. (9 punti) Mostrare l'esecuzione dell'algoritmo Bucket Sort con le seguenti chiavi in ingresso: .34, .15, .56, .27, .77, .312, .123, .546, .1111, .10235, .7329, .5009.
Esercizio 3. (12 punti) Dato un grafo non orientato , si vuole individuare una catena di lunghezza almeno . Una catena è una sequenza di vertici connessi, dove ciascun vertice ha grado esattamente due. La lunghezza di una catena è il numero di vertici in essa contenuti. Assumendo che il grafo sia rappresentato con liste di adiacenza: