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. AInsertion sort
  2. BQuicksort
  3. CBubble sort
  4. DMerge sort
2.Facile

Che cosa significa f(n) = Θ(g(n))?

  1. Af cresce allo stesso ritmo di g, limitata superiormente e inferiormente da multipli costanti di g
  2. Bf cresce strettamente più velocemente di g
  3. Cf è sempre minore di g per ogni n, quindi g la limita superiormente ma mai inferiormente
  4. Df cresce strettamente più lentamente di g
3.Facile

Che cos'è la ricorsione?

  1. AUn metodo di ordinamento
  2. BUn ciclo che non termina mai
  3. CUn tipo di struttura dati
  4. DUna funzione che chiama se stessa su input più piccoli
4.Media

Nel problema della selezione di attività, quale regola greedy dà sempre il numero massimo di attività non sovrapposte?

  1. AScegliere l'attività che inizia prima
  2. BScegliere l'attività che termina prima, poi ripetere con quelle compatibili
  3. CScegliere per prima l'attività più breve
  4. DScegliere per prima l'attività con meno sovrapposizioni, poi ripetere con quelle compatibili
5.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(mn log n)
  2. BO(mn)
  3. CO(m + n)
  4. DO(2m+n)
6.Media

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

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

Perché qualsiasi ricerca basata su confronti in un array ordinato richiede Ω(log n) confronti nel caso peggiore?

  1. ALa ricerca binaria è l'unico algoritmo possibile e richiede log₂ n confronti
  2. BUn albero di decisione con n esiti possibili deve avere profondità almeno log₂ n
  3. COgni confronto richiede un tempo logaritmico
  4. DOgni elemento deve essere confrontato almeno una volta
8.Difficile

Quale di questi problemi di soddisfacibilità è noto per essere risolvibile in tempo polinomiale?

  1. ALa soddisfacibilità dei circuiti
  2. B3-SAT, in cui ogni clausola ha esattamente tre letterali
  3. CSAT generale su formule in forma normale congiuntiva
  4. D2-SAT, in cui ogni clausola ha al massimo due letterali

Soluzioni

  1. 1. B · Quicksort
  2. 2. A · f cresce allo stesso ritmo di g, limitata superiormente e inferiormente da multipli costanti di g
  3. 3. D · Una funzione che chiama se stessa su input più piccoli
  4. 4. B · Scegliere l'attività che termina prima, poi ripetere con quelle compatibili
  5. 5. B · O(mn)
  6. 6. C · Circa log₂ n
  7. 7. B · Un albero di decisione con n esiti possibili deve avere profondità almeno log₂ n
  8. 8. D · 2-SAT, in cui ogni clausola ha al massimo due letterali

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