• Non ci sono risultati.

Scrivere in forma leggibile il proprio nome, cognome e matricola sul testo del compito e su ogni foglio consegnato.

N/A
N/A
Protected

Academic year: 2021

Condividi "Scrivere in forma leggibile il proprio nome, cognome e matricola sul testo del compito e su ogni foglio consegnato."

Copied!
2
0
0

Testo completo

(1)

Esame di Algoritmi e Strutture di Dati 1 Luned`ı 7 Giugno 2004

Nome:

Cognome:

Matricola:

Scrivere in forma leggibile il proprio nome, cognome e matricola sul testo del compito e su ogni foglio consegnato.

Consegnare solo la bella copia e il testo del compito.

Non ` e possibile consultare alcun tipo di materiale didattico.

Non ` e possibile uscire dopo l’inizio dello scritto.

Esercizio 1 (Punti 15)

Sia A un vettore di lunghezza n. Scrivere una procedura che restituisce il numero di elementi distinti contenuti in A. La complessit`a della procedura deve essere O(n log n).

Soluzione

Algoritmo 1 CountDistinct(A) CountDistinct(A)

1:

HeapSort(A)

2:

count ← 1

3:

for i ← 1 to length(A) − 1 do

4:

if A[i] 6= A[i + 1] then

5:

count ← count + 1

6:

end if

7:

end for

8:

return count

1

(2)

Esercizio 2 (Punti 15)

Sia A un vettore di lunghezza n tale che 1 ≤ A[i] ≤ n per ogni 1 ≤ i ≤ n.

Scrivere una procedura che restituisce il numero di elementi distinti contenuti in A. La complessit`a della procedura deve essere O(n).

Soluzione

Algoritmo 2 CountDistinct(A) CountDistinct(A)

1:

length(B) ← lenght(A)

2:

for i ← 1 to length(B) do

3:

B[i] ← 0

4:

end for

5:

count ← 0

6:

for i ← 1 to length(A) do

7:

if B[A[i]] = 0 then

8:

B[A[i]] ← A[i]

9:

count ← count + 1

10:

end if

11:

end for

12:

return count

2

Riferimenti

Documenti correlati

ISTRUZIONI: Prima di tutto, su ogni foglio che consegnerai devi scrivere, in stampatello, nome, cognome e numero di matricola.. Devi riconsegnare anche il testo dell’esame (cio`

• La valutazione dello svolgimento degli esercizi verra’ utilizzata per la valutazione finale, in sede di esame finale del corso. • Consegnare i seguenti fogli stampati e

• La valutazione dello svolgimento degli esercizi verra’ utilizzata per la valutazione finale, in sede di esame finale del corso. • Consegnare i seguenti fogli stampati e

Modificare opportunamente la struttura di dati tabella ad indirizzamento diretto in modo che possa contenere pi`u oggetti con la medesima chiave (ma con dati satellite

Scrivere in forma leggibile il proprio nome, cognome e matricola sul testo del compito e su ogni foglio consegnato.. Consegnare solo la bella copia e il testo

Scrivere in forma leggibile il proprio nome, cognome e matricola sul testo del compito e su ogni foglio consegnato;.. Consegnare solo la bella copia e il testo

Accuratezza richiesta Valore dell’ integrale Stima errore assoluto Errore

Quesito F (punti 3) Trovare le radici dell’ equazione e −x 2 sin(2πx) = 0 nell’ intervallo [0, 1] utilizzando degli opportuni comandi Matlab o il metodo delle secanti..