Prova di Algoritmi e Strutture Dati II Non si possono consultare né appunti né testi Appello 18 Giugno 2010 Esercizio 1. (punti 12) Abbiamo visto a lezione il metodo analogo alla moltiplicazione di matrici per calcolare i cammini di peso minimo fra tutte le coppie di un grafo orientato e pesato. Si proponga un metodo analogo alla moltiplicazione vettore-matrice per calcolare i cammini di peso minimo da una sorgente s a tutti i vertici di un grafo orientato e pesato. Studiare la complessità computazionale della soluzione proposta. Esercizio 2. (punti 10) Dato un grafo G non orientato, i cui archi sono pesati con la funzione w : E → R, progettare e scrivere lo pseudo-codice di un algoritmo che dato G ritorna un albero di copertura di costo minimo T . Discutere la complessità in tempo della soluzione proposta. Si provi o si dia un controesempio per la seguente affermazione: Tutti gli archi di costo negativo sono in T Esercizio 3. (punti 8) • Si dia la definizione ricorsiva di albero binomiale Bk . Quanti nodi vi sono al livello h, con 0 ≤ h ≤ k, in un Bk ? • Disegnate una foresta binomiale di 14 nodi. • Si scriva lo pseudo-codice dell’operazione decrease-key in uno heap binomiale. Se ne discuta la complessità in tempo.