• 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 Primo Appello 22 giugno 2018

Cognome Nome: N. Matricola: Corso: A B

Esercizio 1. (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.

Si scriva la relazione di ricorrenza che descrive il suo costo in tempo al caso pessimo, e la si risolva.

Esercizio 2. (2+3+3 punti) Data la seguente procedura ricorsiva, definita in funzione di un parametro (globale) intero a > 0:

foo( A, n ) {

if ( n <= 1 ) return 5;

InsertionSort(A,n);

for i = 1 to a foo(A,n/2);

}

1. Scrivere la relazione di ricorrenza che descrive la complessit`a in tempo al caso pessimo di foo(A,n) in funzione di a.

2. Risolvere la relazione di ricorrenza al variare di a.

3. Stabilire per quali valori di a la procedura ha complessit`a in tempo al caso pessimo O(n3).

Esercizio 3. (6 punti) Sia dato il grafo diretto aciclico G(V, E) costituito da 7 vertici numerati da 1 a 7 e i seguenti archi E = {(1, 2), (1, 3), (1, 4), (2, 3), (4, 3), (3, 5), (6, 7), (7, 2)}. Si calcoli l’ordinamento topologico di G simulando il funzionamento dell’algoritmo TOPOLOGICAL SORT, e assumendo che le liste di adiacenza siano ordinate per vertice destinazione.

Esercizio 4. (3+3 punti)

1. Si dia la definizione di riduzione polinomiale tra due problemi decisionali P e Q.

2. Si scriva lo pseudo-codice dell’algoritmo Build heap (assumendo di avere a disposizione l’algoritmo Heapify) per la costruzione di un heap di massimo su n interi, e si dimostri che la complessit`a in tempo

` e O(n).

Riferimenti

Documenti correlati

• Il costo `e pari a Θ(|V | + |E|) (il grafo `e connesso e la visita raggiunge tutti i vertici). Esercizio

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+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

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..

Progettare e descrivere in pseudocodice un algoritmo di tipo divide et impera per calcolare la somma di n interi positivi, ciascuno di valore Θ(1), memorizzati in un array1.