• Non ci sono risultati.

Esame di Algoritmi e Strutture di Dati 1

N/A
N/A
Protected

Academic year: 2021

Condividi "Esame di Algoritmi e Strutture di Dati 1"

Copied!
2
0
0

Testo completo

(1)

Esame di Algoritmi e Strutture di Dati 1 23 Maggio 2006

Esercizio (Punti 15)

Un vettore A di dimensione n ha come culmine l’indice i (compreso fra 1 ed n) se il sottovettore A[1, . . . , i] `e ordinato in senso crescente ed il sottovettore A[i, . . . , n] `e ordinato in senso strettamente decrescente. Scrivere una procedura che dato un vettore A, supposto avere il culmine, restituisce il culmine di A. La procedura deve avere complessit`a θ(logn).

Soluzione

Uso un algoritmo di ricerca binaria in versione ricorsiva. BinCulmine(A, i, j) restituisce l’indice del culmine cercandolo nel sottovettore A[i, . . . , j]

1:

BinCulmine(A, i, j)

2:

if i = j then

3:

return i

4:

end if

5:

l ← (i + j) div 2

6:

if A[l] ≤ A[l + 1] then

7:

BinCulmine(A, l + 1, j)

8:

else

9:

BinCulmine(A, i, l)

10:

end if

Esercizio (Punti 15)

Scrivere una procedura che dato un albero ternario T ed un intero k, resti- tuisce il sottoalbero di T costituito dai nodi che sono a profondit`a al pi` u k.

Si scelga una opportuna struttura dati per rappresentare gli alberi ternari e si valuti la complessit`a (pessima) della procedura descritta.

Soluzione

Rappresento ogni nodo x di un albero ternario come un oggetto dotato dei seguenti campi

• key[x] che contiene la chiave di x

• un puntatore al figlio sinistro l[x]

• un puntatore al figlio centrale c[x]

• un puntatore al figlio destro r[x]

(2)

Uso un algoritmo ricorsivo SubT(x, k), che restituisce il sottoalbero che ha x come radice, costituito dai nodi che sono a profondit`a al pi` u k (nell’albero radicato in x).

1:

SubT(x, k)

2:

if x = nil then

3:

return nil

4:

end if

5:

if k = 0 then

6:

l[x] ← nil

7:

c[x] ← nil

8:

r[x] ← nil

9:

else

10:

l[x] ← SubT(l[x], k − 1)

11:

c[x] ← SubT(c[x], k − 1)

12:

r[x] ← SubT(r[x], k − 1)

13:

end if

Riferimenti

Documenti correlati

Esame di Algoritmi e Strutture di Dati 1 27 Giugno 2006. Esercizio 1

[r]

La presentazione della tesi di un laureando davanti ad una commissione di laurea pu`o essere descritta tramite il nome e la matricola del laureando, il titolo della tesi, il nome

La sessione di una conferenza pu`o essere caratterizzata dal nome della con- ferenza, dal numero di sessione, dal nome del coordinatore della sessione e dall’elenco delle

Sep. Infiniti modi di essere. Jobs.Endless ways of being.. FACILE DA US RE la gestione della tua nuova vetr na a portatad,click. mod ifica. · empe rat ur e, p ull ostoc heco nl rollo

Healthy Havana 6.00 Succo arancia, Succo ananas, lime, Crema di cocco, sale, Soda.

By using this fact one can obtain them in explicit form... The σ i are the singular values

Ante basi e pensili Living Eucalipto Bruno, ante colonne Life laccato Bianco Opaco, Top HPL Gesso Cuore Nero sp.12 mm, profilo gola Ghisa.. Eucalipto Bruno Living base and wall