• Non ci sono risultati.

008AA – ALGORITMICA E LABORATORIO

N/A
N/A
Protected

Academic year: 2021

Condividi "008AA – ALGORITMICA E LABORATORIO"

Copied!
1
0
0

Testo completo

(1)

008AA – ALGORITMICA E LABORATORIO Seconda Prova di Verifica Intermedia - 3 giugno 2019

Cognome Nome: N. Matricola:

Esercizio 1 (punti 8)

Un grafo non orientato G = (V, E) si definisce euleriano se contiene un cammino che attraversa ciascun arco una e una sola volta e torna al punto di partenza. Il Teorema di Eulero afferma che che un grafo `e euleriano se e solo se il grafo `e connesso e tutti i suoi vertici hanno grado pari.

1. Progettare e descrivere in pseudocodice un algoritmo efficiente che stabilisca se un grafo `e euleriano.

2. Valutare la complessit`a dell’algoritmo proposto.

Esercizio 2 (punti 3 + 3 + 4)

1. Dato un dizionario T memorizzato su un albero AVL, progettare e descrivere in pseudocodice un algorit- mo efficiente che costruisca un array contenente tutte le chiavi di T in ordine decrescente. Valutare la complessit`a dell’algoritmo proposto.

2. Dati due dizionari T1 e T2 memorizzati su alberi AVL, contenenti n e m (n < m) chiavi distinte ri- spettivamente, progettare e descrivere in pseudocodice un algoritmo efficiente che, senza fare uso di array di appoggio, restituisca un albero AVL contenente l’unione delle chiavi di T1 e T2. Valutare la complessit`a in tempo dell’algoritmo proposto.

3. Dati due dizionari T1 e T2 memorizzati su alberi AVL, contenenti n e m (n < m) chiavi distinte rispet- tivamente, progettare e descrivere in pseudocodice un algoritmo efficiente che restituisca un albero AVL contenente l’unione delle chiavi di T1e T2. Valutare la complessit`a in tempo e in spazio dell’algoritmo proposto.

Esercizio 3 (punti 6)

Si mostri la matrice di programmazione dinamica per il calcolo della Edit Distance tra le stringhe x = ARSO e y = IROSO, dove ogni operazione di editing (inserzione, cancellazione, sostituzione) ha costo unitario.

Si mostrino poi un allineamento ottimo e il cammino sulla matrice ad esso corrispondente.

Esercizio 4 (punti 2 + 4)

Data una tabella hash a indirizzamento aperto con fattore di carico α = n/m < 1, indicare il numero atteso di accessi in una ricerca senza successo, e se ne dimostri (brevemente) la correttezza.

Esercizio 5 (punti 1)

Disegnare un DAG di 4 nodi, con il maggior numero di archi possibile.

Riferimenti

Documenti correlati

(4+3+3 punti) Si progetti un algoritmo ricorsivo basato sulla tecnica Divide et Impera che calcola il secondo elemento pi` u grande di un vettore A di n interi, senza modificarlo..

(4+4) Si definisca la relazione che consente di calcolare mediante Programmazione Dinamica la Edit Distance di due stringhe S1 e S2, nell’ipotesi che l’errore di mismatch abbia costo

• Si diano le regole per navigare sull’heap ternario, cio` e le regole per cui, dato il nodo i, si possa accedere direttamente ai 3 figli o al padre.. • Si fornisca l’algoritmo

Dato un albero binario T in cui ogni nodo contiene un intero positivo, diciamo che la media di un sottoalbero non vuoto ` e la somma degli interi contenuti nei suoi nodi diviso

Dato un albero binario T di n nodi, scrivere lo pseudocodice di un algoritmo efficiente che restituisce TRUE se per ogni nodo u di T vale la seguente propriet` a: il

Lo pseudocodice della procedura split , richiamata su un nodo con ⇣ figli, `e inoltre mostrato in Figu- ra 6.23 (lo pseudocodice non mostra come aggiornare i campi ed ⇥ di ciascun

In caso di risposta affermativa al punto 2, disegnare l’albero di decisione corrispondente all’algoritmo trovato che risolve il problema con due

Un grafo non orientato ` e detto 2-colorabile se ` e possibile attribuire a ogni vertice uno tra due colori in modo che vertici adiacenti siano colorati con colori distinti..