• 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 Appello del 27 Giugno 2016

Cognome Nome: N. Matricola: Corso: A B

Esercizio 1. (8 punti)

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 array. Analizzare la complessit`a dell’algoritmo indicando e risolvendo la corrispondente relazione di ricorrenza nelle seguenti due ipotesi:

1. il costo di una singola addizione si considera costante;

2. il costo di una singola addizione `e O(log n).

Esercizio 2. (8 punti)

Sviluppare e descrivere in pseudocodice un algoritmo che dato uno heap di minimo H e una chiave k, stampi tutte le chiavi in H di valore ≤ k. La complessit`a dell’algoritmo deve essere proporzionale al numero m di chiavi stampate, oppure Θ(1), nel caso m = 0.

Esercizio 3. (8 punti)

Si definisce larghezza di un albero binario il numero massimo di nodi che stanno tutti sul medesimo livello.

Progettare e descrivere in pseudocodice un algoritmo efficiente che calcoli la larghezza di un albero binario di n nodi. Analizzare la complessit`a in tempo e in spazio dell’algoritmo proposto.

Esercizio 4. (6 punti)

Impostare e risolvere la relazione di ricorrenza che descrive il costo dell’algoritmo GeneraBinarie:

GeneraBinarie(B,k) if (k == n) Stampa(B);

else {

B[k+1] = 0;

GeneraBinarie(B,k+1);

B[k+1] = 1;

GeneraBinarie(B,k+1) }

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