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

Quali sono i tre passi di un algoritmo divide et impera?

  1. ALeggi, calcola, scrivi
  2. BIndovina, verifica, ripeti
  3. CDividi, risolvi (impera), combina
  4. DOrdina, cerca, restituisci
2.Facile

Quale di queste cresce più lentamente quando n diventa grande?

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

Che cos'è un algoritmo?

  1. AUna struttura dati che memorizza numeri
  2. BUn linguaggio di programmazione progettato per scrivere formule matematiche
  3. CQualsiasi programma con un'interfaccia grafica
  4. DUna sequenza finita di passi ben definiti che risolve un problema
4.Media

Un algoritmo greedy (goloso):

  1. AUsa solo la ricorsione
  2. BProva ogni soluzione possibile
  3. CFornisce sempre la soluzione ottima
  4. DCompie la scelta localmente migliore a ogni passo
5.Media

È corretto dire che un algoritmo O(n²) è anche O(n³)?

  1. ANo, perché l'O grande deve indicare sempre l'esatto tasso di crescita della funzione
  2. BNo, perché per n grande n³ è minore di n²
  3. CSì, perché l'O grande è un limite superiore e n² non cresce più velocemente di n³
  4. DSì, ma solo se n è minore di 100
6.Media

Una funzione esegue un ciclo di n iterazioni e poi, separatamente, un altro ciclo di n iterazioni. Qual è la sua complessità temporale?

  1. AO(n²)
  2. BO(n)
  3. CO(2ⁿ)
  4. DO(log n)
7.Difficile

Quale definizione della classe NP è corretta?

  1. AProblemi che non si possono risolvere in tempo polinomiale
  2. BProblemi che non sono polinomiali
  3. CProblemi che nessun algoritmo può risolvere
  4. DProblemi decisionali le cui risposte sì possono essere verificate in tempo polinomiale dato un certificato
8.Difficile

Il problema della fermata dimostra che:

  1. AI cicli andrebbero evitati
  2. BNessun algoritmo può decidere, per ogni programma e ogni input, se il programma si ferma
  3. COgni programma prima o poi si ferma
  4. DAlcuni programmi girano più velocemente su computer più veloci, quindi la terminazione dipende dall'hardware

Soluzioni

  1. 1. C · Dividi, risolvi (impera), combina
  2. 2. B · O(log n)
  3. 3. D · Una sequenza finita di passi ben definiti che risolve un problema
  4. 4. D · Compie la scelta localmente migliore a ogni passo
  5. 5. C · Sì, perché l'O grande è un limite superiore e n² non cresce più velocemente di n³
  6. 6. B · O(n)
  7. 7. D · Problemi decisionali le cui risposte sì possono essere verificate in tempo polinomiale dato un certificato
  8. 8. B · Nessun algoritmo può decidere, per ogni programma e ogni input, se il programma si ferma

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