Scheda di esercizi di Algoritmi e complessità con soluzioni

Scheda di esercizi di Algoritmi e complessità gratuita e stampabile: 8 esercizi dal livello facile a quello d’esame, con le soluzioni. Stampala o salvala come PDF.

Per i docenti: gratuita da stampare, copiare e usare in classe. Ogni nuova scheda ha nuovi valori e le sue soluzioni. Un link a ExamProblems nella pagina del corso è molto apprezzato.

Nome: ____________________   Data: ____________

1.Facile

Che cosa descrive il tempo di esecuzione nel caso medio?

  1. AIl tempo per un input di lunghezza media
  2. BIl tempo atteso rispetto a una data distribuzione degli input di dimensione n
  3. CIl valore intermedio tra i tempi di esecuzione nel caso migliore e nel caso peggiore
  4. DIl tempo sul computer più diffuso
2.Facile

Qual è la complessità temporale della ricerca lineare in un array non ordinato di n elementi (caso peggiore)?

  1. AO(n)
  2. BO(n²)
  3. CO(log n)
  4. DO(1)
3.Facile

La complessità spaziale misura:

  1. ALo spazio su disco del file del programma una volta compilato
  2. BLa quantità di memoria di cui un algoritmo ha bisogno al crescere dell'input
  3. CLe dimensioni fisiche del computer
  4. DIl numero di righe di codice
4.Media

Qual è la complessità temporale del quicksort nel caso peggiore?

  1. AO(log n)
  2. BO(n)
  3. CO(n log n)
  4. DO(n²)
5.Media

Qual è la soluzione della ricorrenza T(n) = T(n/2) + O(1)?

  1. AO(n log n)
  2. BO(1)
  3. CO(n)
  4. DO(log n)
6.Media

Qual è la complessità temporale ammortizzata dell'aggiunta in coda a un array dinamico che raddoppia la capacità quando è pieno?

  1. AO(1)
  2. BO(n²)
  3. CO(log n)
  4. DO(n)
7.Difficile

Usando il teorema dell'esperto (master theorem), T(n) = 8T(n/2) + O(n²) ha come soluzione:

  1. AΘ(n³)
  2. BΘ(n² log n)
  3. CΘ(n log n)
  4. DΘ(n²)
8.Difficile

Il problema dello zaino 0/1 risolto con la programmazione dinamica richiede tempo O(nW). Perché si dice pseudo-polinomiale?

  1. APerché n è sempre piccolo
  2. BPerché l'algoritmo è randomizzato e il suo tempo di esecuzione varia a ogni input
  3. CPerché funziona solo per W = 0
  4. DW è un numero, quindi il tempo è esponenziale nel numero di bit usati per scrivere W

Soluzioni

  1. 1. B · Il tempo atteso rispetto a una data distribuzione degli input di dimensione n
  2. 2. A · O(n)
  3. 3. B · La quantità di memoria di cui un algoritmo ha bisogno al crescere dell'input
  4. 4. D · O(n²)
  5. 5. D · O(log n)
  6. 6. A · O(1)
  7. 7. A · Θ(n³)
  8. 8. D · W è un numero, quindi il tempo è esponenziale nel numero di bit usati per scrivere W

Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.