Sei sulla pagina 1di 1

API IOL – Secondo appello – 12 luglio 2019

Esercizio 1 (8 punti)
Si consideri un albero binario contenente valori interi (positivi e negativi). Si scriva una funzione
C++ che determini il numero di archi che permettono di raggiungere la foglia “positiva” più
profonda dell’albero.

Esercizio 2 (4 punti)
Si vogliono memorizzare in una tabella hash delle chiavi intere positive. Si consideri una tabella
con m=12 slot e funzione di hash h(k)=k mod m e si supponga che per gestire le collisioni si
utilizzi la funzione di probe p(k,i) = i*2
Si generano clustering primari e/o secondari? Si discutano i pro e i contro della soluzione
proposta.

Esercizio 3 (4 punti)
Si applichi passo passo l’algoritmo di Dijkstra alla seguente matrice di adiacenza partendo dal
nodo A. Si mostri per ogni passo il vettore delle distanze.

A B C D E F G
A ∞ 5 8 ∞ 7 10 ∞
B ∞ ∞ 1 ∞ 3 ∞ ∞
C ∞ ∞ ∞ 6 ∞ ∞ ∞
D ∞ ∞ ∞ ∞ ∞ ∞ ∞
E ∞ ∞ ∞ 4 ∞ 2 3
F ∞ ∞ ∞ ∞ ∞ ∞ 3
G ∞ ∞ 4 ∞ 5 ∞ ∞