• 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 8 Luglio 2014

Cognome Nome: N. Matricola: Corso: A B

Esercizio 1. (10 punti)

Si consideri un array A di n interi positivi e un intero S. Si dia il codice di un algoritmo efficiente che stabilisca se esistono 3 elementi di A aventi somma S.

Esercizio 2. (10 punti)

Un grafo pesato G = (V, E, W ), |V | = n, |E| = m, rappresenta la rete stradale che connette un insieme di citt`a (i vertici del grafo). Il peso associato all’arco (u, v) ∈ E `e la distanza in chilometri tra u e v se esiste una strada che le unisce e che non passa da altre citt`a. Un commesso viaggiatore in partenza dalla citt`a s deve compiere un viaggio che, visiti tutte le citt`a e ritorni a s, e che, per risparmiare benzina, percorra il minor numero possibile di chilometri.

• Si dia il codice di un algoritmo che data una sequenza di n citt`a e un valore K verifichi se il numero chilometri associati a un viaggio eseguito in quell’ordine `e minore o uguale a K .

• Si indichi uno schema di di algoritmo che cerca una soluzione facendo tutte le prove possibili.

• Il problema considerato si chiama T SP . Se ne discuta la complessit`a sapendo che il problema SAT si riduce a TSP in tempo polinomiale.

Esercizio 3. (10 punti) Data la sequenza di chiavi intere

52, 24, 41, 66, 60, 90, 9, 30, 55, 80,

costruire un albero AVL per inserzioni successive, disegnando l’albero dopo l’inserzione di ogni chiave e indicando, prima di ogni rotazione, il nodo critico e la rotazione eseguita.

Esercizio 4. (3 punti)

In riferimento al problema dell’Esercizio 1, primo punto. Si discuta la complessit`a di un algoritmo che lo risolva facendo tutte le prove possibili.

Riferimenti

Documenti correlati

Calcolare la visita DFS su G e si mostri l’albero DFS specificando anche il tipo di archi individuati dalla visita (ossia dell’albero, indietro, in avanti, attraversamento – o

(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