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

Quale strategia di progettazione usa il merge sort?

  1. AForza bruta
  2. BProgrammazione dinamica
  3. CScelta greedy (golosa)
  4. DDivide et impera
2.Facile

Che cosa descrive il tempo di esecuzione nel caso peggiore di un algoritmo?

  1. AIl tempo impiegato su un computer lento
  2. BIl tempo impiegato sull'input più piccolo
  3. CIl tempo atteso su un input casuale di dimensione n
  4. DIl tempo massimo impiegato su tutti gli input di dimensione n
3.Facile

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

  1. A8 secondi
  2. B4 secondi
  3. C2 secondi
  4. D1 secondo
4.Media

Qual è la complessità temporale dell'algoritmo standard di programmazione dinamica per la sottosequenza comune più lunga di stringhe di lunghezze m e n?

  1. AO(m + n)
  2. BO(mn log n)
  3. CO(mn)
  4. DO(2m+n)
5.Media

Quanto spazio di stack usa una semplice funzione fattoriale ricorsiva fact(n) = n × fact(n − 1)?

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

Quanti livelli ha la ricorsione del merge sort per un array di n elementi?

  1. ACirca n
  2. BCirca n / 2
  3. CCirca √n
  4. DCirca log₂ n
7.Difficile

Per dimostrare che un nuovo problema X è NP-difficile, che cosa devi fare?

  1. ADimostrare che X si può verificare in tempo polinomiale
  2. BRidurre in tempo polinomiale X a un problema NP-difficile noto
  3. CRidurre in tempo polinomiale un problema NP-difficile noto a X
  4. DDimostrare che X non ha un algoritmo polinomiale per input piccoli
8.Difficile

L'algoritmo di programmazione dinamica di Held–Karp risolve esattamente il problema del commesso viaggiatore. Qual è il suo tempo di esecuzione per n città?

  1. AO(n!)
  2. BO(2n²)
  3. CO(n³)
  4. DO(n² 2ⁿ)

Soluzioni

  1. 1. D · Divide et impera
  2. 2. D · Il tempo massimo impiegato su tutti gli input di dimensione n
  3. 3. B · 4 secondi
  4. 4. C · O(mn)
  5. 5. C · O(n)
  6. 6. D · Circa log₂ n
  7. 7. C · Ridurre in tempo polinomiale un problema NP-difficile noto a X
  8. 8. D · O(n² 2ⁿ)

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