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 di questi tempi di esecuzione è polinomiale?

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

Che cos'è la memoizzazione?

  1. AConvertire automaticamente la ricorsione in un ciclo equivalente così da non avere bisogno dello stack delle chiamate
  2. BMemorizzare i risultati delle chiamate di funzione così che le chiamate ripetute ottengano la risposta dalla memoria
  3. CScrivere commenti accanto a ogni riga di codice
  4. DLiberare la memoria dopo il ritorno di una funzione
3.Facile

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

  1. AO(n²)
  2. BO(n)
  3. CO(n log n)
  4. DO(1)
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(2m+n)
  2. BO(mn log n)
  3. CO(m + n)
  4. DO(mn)
5.Media

Qual è la complessità temporale ammortizzata dell'aggiunta in coda a un array dinamico che raddoppia la capacità quando è pieno?

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

Quale algoritmo trova i cammini minimi da una sorgente in un grafo con pesi degli archi non negativi?

  1. AAlgoritmo di Kruskal
  2. BBellman-Ford è necessario in tutti i casi
  3. CVisita in profondità (DFS)
  4. DAlgoritmo di Dijkstra
7.Difficile

Quale affermazione sulla notazione o piccolo è corretta?

  1. An² = o(n)
  2. Bn = o(n), perché ogni funzione è o piccolo di se stessa
  3. Cn = o(n²), ma n non è o(n)
  4. D2n = o(n), perché 2n cresce lentamente
8.Difficile

I cammini semplici minimi si possono trovare in tempo polinomiale. Che cosa si sa del trovare il cammino semplice più lungo tra due vertici in un grafo generico?

  1. AÈ sempre risolvibile in O(V + E)
  2. BÈ indecidibile
  3. CSi può risolvere con l'algoritmo di Dijkstra con pesi cambiati di segno
  4. DÈ NP-difficile

Soluzioni

  1. 1. C · O(n³)
  2. 2. B · Memorizzare i risultati delle chiamate di funzione così che le chiamate ripetute ottengano la risposta dalla memoria
  3. 3. B · O(n)
  4. 4. D · O(mn)
  5. 5. D · O(1)
  6. 6. D · Algoritmo di Dijkstra
  7. 7. C · n = o(n²), ma n non è o(n)
  8. 8. D · È NP-difficile

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