• 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 secondo appello 15 luglio 2019

Cognome Nome: N. Matricola: Corso: A B

Esercizio 1. (6+3+1 punti)

E dato un array A di interi di dimensione n,`

1. Si definisca un algoritmo ricorsivo basato sulla tecnica Divide et Impera che determini il primo e il secondo elemento di A.

2. Si determini il numero esatto di confronti C(n) tra elementi di A impostando una relazione di ricorrenza e risolvendola col metodo iterativo;

3. Si discuta se il risultato ottenuto rappresenti un limite inferiore per il problema.

Esercizio 2. (8 punti)

In una tabella hash di m = 17 posizioni, inizialmente vuota, devono essere inserite le seguenti chiavi numeriche nell’ordine indicato:

99, 48, 18, 70, 1, 12, 23, 119, 113, 20

La tabella `e a indirizzamento aperto e la scansione eseguita con doppio hash con h1(k) = k mod m e h2(k) = 2kmod5.

Indicare per ogni chiave le posizioni scandite nella tabella e la posizione finale ove viene allocata.

Esercizio 3. (8 punti)

Un nodo v in un albero binario si dice 0-bilanciato se le dimensioni dei sottoalberi radicati nei suoi due figli sono uguali. Dato un albero binario, progettare un algoritmo efficiente che determini il numero di nodi 0-bilanciati e analizzarne la complessit`a.

Esercizio 4. (5 punti)

Spiegare a parole l’algoritmo BuildHeap e indicarne la complessit`a in tempo (senza dimostrazione).

Riferimenti

Documenti correlati

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.

Si progetti e si descriva in pseudocodice una variante del QuickSort che selezioni come pivot il mediano della porzione di array da ordinare invocando l’algoritmo

Si discuta la complessit` a di un algoritmo che lo risolva facendo tutte le

Si fornisca un algoritmo efficiente che stabilisca se esiste un percorso radice-foglia, tale per cui la somma dei valori contenuti nei nodi sia pari a k..

Dato un array a di n interi, progettare un algoritmo efficiente che costruisca ricorsivamente un albero binario bilanciato tale che a[i] sia l(i+1)-esimo campo u.dato in ordine

(10 punti) Sia data una matrice n × n di interi in cui gli elementi di ogni riga sono ordinati in modo crescente; anche gli elementi in ogni colonna sono ordinati in modo crescente..