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 algoritmo di ordinamento sceglie un pivot e partiziona l'array in elementi minori e maggiori?

  1. AMerge sort
  2. BQuicksort
  3. CBubble sort
  4. DInsertion sort
2.Facile

Un problema si dice di solito trattabile se:

  1. ANon ha soluzione
  2. BPuò essere risolto in tempo costante
  3. CPuò essere risolto in tempo polinomiale
  4. DPuò essere risolto solo provando ogni possibilità
3.Facile

Che cos'è un algoritmo a forza bruta?

  1. AUn algoritmo che usa sempre la ricorsione
  2. BUn algoritmo che gira su molti processori
  3. CUn algoritmo che tira a indovinare una risposta a caso
  4. DUn algoritmo che prova tutte le possibili soluzioni candidate
4.Media

La ricorrenza T(n) = 2T(n/2) + O(n) ha come soluzione:

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

Perché la programmazione dinamica non dà un vero guadagno di velocità per il merge sort?

  1. AI suoi sottoproblemi non si sovrappongono, quindi non c'è nulla da riutilizzare
  2. BIl merge sort non ha una struttura ricorsiva
  3. CIl merge sort è già O(n)
  4. DLa programmazione dinamica funziona solo sui problemi su grafi, non sugli array
6.Media

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

  1. ACostante
  2. BLineare
  3. CEsponenziale
  4. DLogaritmica
7.Difficile

L'algoritmo di Strassen moltiplica matrici usando 7 invece di 8 moltiplicazioni ricorsive di blocchi di metà dimensione. Qual è il suo tempo di esecuzione?

  1. AΘ(n² log n)
  2. BΘ(n2)
  3. CΘ(nlog₂ 7), circa n2,81
  4. DΘ(n³)
8.Difficile

Che cosa seguirebbe se qualcuno trovasse un algoritmo in tempo polinomiale per un problema NP-completo?

  1. ATutti gli algoritmi a tempo esponenziale diventerebbero subito lineari
  2. BOgni problema in NP si potrebbe risolvere in tempo polinomiale, quindi P = NP
  3. CSolo quel problema passerebbe in P
  4. DIl problema della fermata diventerebbe decidibile

Soluzioni

  1. 1. B · Quicksort
  2. 2. C · Può essere risolto in tempo polinomiale
  3. 3. D · Un algoritmo che prova tutte le possibili soluzioni candidate
  4. 4. C · O(n log n)
  5. 5. A · I suoi sottoproblemi non si sovrappongono, quindi non c'è nulla da riutilizzare
  6. 6. C · Esponenziale
  7. 7. C · Θ(nlog₂ 7), circa n2,81
  8. 8. B · Ogni problema in NP si potrebbe risolvere in tempo polinomiale, quindi P = NP

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