• 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

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

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.

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

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