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 classe di complessità cresce più rapidamente per n grande?

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

Qual è la complessità temporale nel caso migliore dell'insertion sort, su un array già ordinato?

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

Qual è il tempo di esecuzione del counting sort per n interi nell'intervallo da 0 a k?

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

Quale affermazione su una funzione ricorsiva senza un caso base raggiungibile è corretta?

  1. ARestituisce automaticamente 0
  2. BContinua a chiamare se stessa finché lo stack delle chiamate va in overflow
  3. CViene eseguita in tempo O(1)
  4. DIl compilatore la trasforma sempre in un ciclo che termina in modo sicuro
5.Media

Un quicksort usa sempre il primo elemento come pivot. Su quale input mostra il comportamento del caso peggiore?

  1. AUn array già ordinato
  2. BUn array con elementi tutti diversi
  3. CUn array in ordine casuale
  4. DUn array di lunghezza 2
6.Media

Che cosa significa che un problema ha una sottostruttura ottima?

  1. AUna soluzione ottima può essere costruita da soluzioni ottime dei suoi sottoproblemi
  2. BOgni sottoproblema ha la stessa dimensione
  3. CIl problema si può risolvere in tempo costante
  4. DIl problema ha esattamente una soluzione ottima, condivisa da ogni sottoproblema
7.Difficile

Prendere entrambi gli estremi di ogni arco di un matching massimale dà una copertura dei vertici. Quanto è buona questa copertura?

  1. ASempre una copertura dei vertici minima
  2. BDi qualità ignota rispetto all'ottimo
  3. CAl massimo il doppio della dimensione di una copertura dei vertici minima
  4. DAl massimo log n volte il minimo
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. BIl problema della fermata diventerebbe decidibile
  3. COgni problema in NP si potrebbe risolvere in tempo polinomiale, quindi P = NP
  4. DSolo quel problema passerebbe in P

Soluzioni

  1. 1. A · O(2ⁿ)
  2. 2. D · O(n)
  3. 3. D · O(n + k)
  4. 4. B · Continua a chiamare se stessa finché lo stack delle chiamate va in overflow
  5. 5. A · Un array già ordinato
  6. 6. A · Una soluzione ottima può essere costruita da soluzioni ottime dei suoi sottoproblemi
  7. 7. C · Al massimo il doppio della dimensione di una copertura dei vertici minima
  8. 8. C · Ogni problema in NP si potrebbe risolvere in tempo polinomiale, quindi P = NP

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