Sei sulla pagina 1di 5

Esercizi

1) Determinare il costo computazionale dei seguen6 frammen6 di codice:

(Risultato: Theta(n4/2))

(Risultato: Theta(n))

Assuming that computeValue() is O(1):

(Risultato: Theta(n))
(Risultato: Theta(n))

(Risultato: Theta(n) con n= |V| la cardinalità di V)

Sapendo che E è una matrice A x A (e c nel codice soHo è una matrice delle stesse
dimensioni)

(Risultato: Theta(A3/2))
(Risultato: Theta(nlogn) perché l’ordinamento predomina sul costo n del resto del codice)

(Risultato: Theta(n2/2))

(Risultato: Theta(n) con n = l-r)


2. Senza dare troppa importanza al significato dell’algoritmo, scrivere pseudocodici di algoritmi
itera6vi con i seguen6 cos6:

a) O(n2log n) nel caso peggiore


b) O(n) nel caso migliore
c) O(n2) nel caso peggiore e O(n) nel caso migliore
d) Theta(n3/2)

3. Dopo aver simulato l’algoritmo con gli input specifica6, dedurre cosa l’algoritmo calcola e
commentare il significato di eventuali variabili ausiliarie.

a) A=[1, -1, 2], x=2

(Algoritmo di Horne, valuta il polinomio anxn + an-1xn-1+….+a0 nel punto x)

b) n = 5

(Calcola n-esimo numero di Fibonacci)

c) A=[3, 6, 1], B=[4, 2, 5]


(Algoritmo merge modificato, fonde in un unico array i valori ordina6 dei soHo-array A e B)

d) a=[2, 4, 1, 3]

(selec6onSort, ordina gli elemen6 dell’array. Cosa rappresenta k?)

Potrebbero piacerti anche