• Non ci sono risultati.

Esame di Algoritmi e Strutture di Dati Luned`ı 19 Maggio 2003

N/A
N/A
Protected

Academic year: 2021

Condividi "Esame di Algoritmi e Strutture di Dati Luned`ı 19 Maggio 2003"

Copied!
2
0
0

Testo completo

(1)

Esame di Algoritmi e Strutture di Dati Luned`ı 19 Maggio 2003

Nome:

Cognome:

Matricola:

Per un buon esito dell’esame, si consiglia di:

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

provare gli esercizi prima in brutta copia. Ricopiarli in bella copia e consegnare quest’ultima oltre al testo del compito;

non fatevi prendere dal panico, e neppure dalla noia. Un giusto livello di tensione ` e ci` o che serve;

svolgere il compito individualmente. Passare copiando ` e dannoso per voi, e irrilevante per il docente.

Esercizio 1 (Punti 18)

Il Consiglio di Corso di Laurea ha deliberato il seguente metodo per il calcolo della media di laurea:

Per il calcolo della media di laurea si scartando gli 8 esami con voto pi`u basso. Si procede quindi al calcolo della media dei rimanenti esami. Il risultato viene rivalutato del 4% e infine espresso in 110esimi.

Si scriva una procedura efficiente M edia(A) che, dato in ingresso un vettore A che contiene i voti degli esami superati dallo studente, restituisce in uscita la media di laurea secondo quanto deliberato dal Consiglio. Si calcoli la complessit`a della procedura.

Soluzione

Algoritmo 1 Media(A) Media(A)

1:

soglia ← 8

2:

coriv ← 1.04

3:

CountingSort(A, 30)

4:

media ← 0

5:

for i ← soglia + 1 to length[A] do

6:

media ← media + A[i]

7:

end for

8:

media ← media/(length[A] − soglia)

9:

mediaplus ← media ∗ coriv

10:

media110 ← mediaplus ∗ (11/3)

11:

return media110

La complessit`a `e lineare.

1

(2)

Esercizio 2 (Punti 12)

Si dica cosa si intende per insieme dinamico, operazioni di interrogazione e di modifica su un insieme dinamico, e dizionario. Si completi inoltre la seguente tabella con la complessit` a media dell’operazione rispetto alla relativa struttura di dati.

Inserimento Cancellazione Ricerca Massimo Minimo Predecessore Successore Liste

Alberi binari di ricerca Tabelle hash

Soluzione

Un insieme dinamico `e un insieme cha cambia dinamicamente, inserendo o cancellando elementi.

Le operazioni di interrogazione sono ricerca, massimo, minimo, predecessore e successore; quelle di modifica sono inserimento e cancellazione. Un dizionario `e un insieme dinamico che supporta solo le operazioni di inserimento, cancellazione e ricerca.

Inserimento Cancellazione Ricerca Massimo Minimo Predecessore Successore

Liste Θ(1) Θ(1) Θ(n) Θ(n) Θ(n) Θ(n) Θ(n)

Alberi binari di ricerca Θ(log n) Θ(log n) Θ(log n) Θ(log n) Θ(log n) Θ(log n) Θ(log n)

Tabelle hash Θ(1) Θ(1) Θ(1) Θ(n) Θ(n) Θ(n) Θ(n)

2

Riferimenti

Documenti correlati

• Problemi polinomiali non deterministici = problemi risolvibili in tempo polinomiale da un algoritmo non deterministico, ma per i quali non è ancora stata trovata una.

Scrivere la funzione ricorsiva printGreaterKeys(u, a) che, data la radice u di un BST, un valore a di chiave, stampa in ordine tutte le chiavi dell’albero maggiori della chiave

Trovare la sottosequenza più lunga comune alle due stringhe X ed Y, simulando l’esecuzione dell’algoritmo noto.. Trovare la disposizione ottimale delle parentesi che minimizza il

Si progettino un algoritmo euristico di tipo greedy ed uno di ricerca locale per risolvere il problema della BISEZIONE in forma di ottimizzazione: “Dato un grafo non orientato G =

Si scriva una procedura Pascal, basata sulla ricerca binaria, per individuare in tempo O(log n) l’unico intero dell’intervallo 1..n+1 che non compare in V.... Si scriva

la lista che rappresenta l’insieme `e ordinata (cio`e gli oggetti nella lista sono inseriti in ordine crescente di chiave).. In entrambi i casi, si scriva la procedura SubSet(A, B)

Si rappresenti un insieme di nu- meri mediante una lista in cui il campo chiave di ogni oggetto della lista contiene un elemento dell’insieme.. la lista che rappresenta l’insieme non

Scrivere una procedura che calcola la media di laurea secondo quanto de- liberato dal Consiglio utilizzando la struttura di dati scelta al punto