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

Quanto vale log₂ 1024?

  1. A512
  2. B10
  3. C32
  4. D12
2.Facile

Che cosa significa che un'operazione ha tempo O(1)?

  1. ARichiede sempre esattamente un secondo
  2. BPuò essere eseguita una sola volta
  3. CIl suo tempo di esecuzione non cresce con la dimensione dell'input
  4. DElabora esattamente un elemento per ogni secondo di tempo di esecuzione
3.Facile

Un algoritmo O(n²) impiega 1 secondo per n = 1000. Circa quanto impiega per n = 2000?

  1. A8 secondi
  2. B2 secondi
  3. C1 secondo
  4. D4 secondi
4.Media

La complessità temporale del Fibonacci ricorsivo ingenuo (fib(n) = fib(n−1) + fib(n−2)) è:

  1. ACostante
  2. BLineare
  3. CLogaritmica
  4. DEsponenziale
5.Media

Qual è il tempo di esecuzione del radix sort LSD su n interi con d cifre in base k?

  1. AO(n log n)
  2. BO(dn log k)
  3. CO(n²)
  4. DO(d(n + k))
6.Media

Ordini una volta un array di n elementi e poi rispondi a k query di appartenenza con la ricerca binaria. Qual è il costo totale?

  1. AO(n + k)
  2. BO(nk)
  3. CO(n log n + k log n)
  4. DO(k n log n)
7.Difficile

Qual è la complessità temporale della costruzione di un heap binario da n elementi non ordinati con il metodo bottom-up?

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

Il problema della fermata dimostra che:

  1. ANessun algoritmo può decidere, per ogni programma e ogni input, se il programma si ferma
  2. BAlcuni programmi girano più velocemente su computer più veloci, quindi la terminazione dipende dall'hardware
  3. COgni programma prima o poi si ferma
  4. DI cicli andrebbero evitati

Soluzioni

  1. 1. B · 10
  2. 2. C · Il suo tempo di esecuzione non cresce con la dimensione dell'input
  3. 3. D · 4 secondi
  4. 4. D · Esponenziale
  5. 5. D · O(d(n + k))
  6. 6. C · O(n log n + k log n)
  7. 7. C · O(n)
  8. 8. A · Nessun algoritmo può decidere, per ogni programma e ogni input, se il programma si ferma

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