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
Che cosa richiede la ricerca binaria al suo input?
- AL'array deve essere ordinato
- BLa lunghezza dell'array deve essere una potenza di due
- CL'array non deve avere più di 1000 elementi
- DL'array deve contenere solo numeri positivi
2.Facile
Quale algoritmo di ordinamento scambia ripetutamente elementi adiacenti che sono nell'ordine sbagliato?
- ABubble sort
- BHeap sort
- CMerge sort
- DQuicksort
3.Facile
Quale algoritmo di ordinamento sceglie un pivot e partiziona l'array in elementi minori e maggiori?
- AQuicksort
- BInsertion sort
- CBubble sort
- DMerge sort
4.Media
È corretto dire che un algoritmo O(n²) è anche O(n³)?
- ANo, perché per n grande n³ è minore di n²
- BSì, perché l'O grande è un limite superiore e n² non cresce più velocemente di n³
- CNo, perché l'O grande deve indicare sempre l'esatto tasso di crescita della funzione
- DSì, ma solo se n è minore di 100
5.Media
Perché la programmazione dinamica non dà un vero guadagno di velocità per il merge sort?
- ALa programmazione dinamica funziona solo sui problemi su grafi, non sugli array
- BI suoi sottoproblemi non si sovrappongono, quindi non c'è nulla da riutilizzare
- CIl merge sort non ha una struttura ricorsiva
- DIl merge sort è già O(n)
6.Media
Con monete da 1, 3 e 4 e un importo di 6, quante monete usa il metodo greedy "prima la moneta più grande", rispetto all'ottimo?
- AIl greedy usa 3 monete; l'ottimo è 2
- BIl greedy usa 4 monete; l'ottimo è 3
- CIl greedy usa 2 monete; l'ottimo è 2
- DIl greedy usa 3 monete; l'ottimo è 3
7.Difficile
Per dimostrare che un nuovo problema X è NP-difficile, che cosa devi fare?
- ARidurre in tempo polinomiale X a un problema NP-difficile noto
- BDimostrare che X si può verificare in tempo polinomiale
- CDimostrare che X non ha un algoritmo polinomiale per input piccoli
- DRidurre in tempo polinomiale un problema NP-difficile noto a X
8.Difficile
Che cosa ha stabilito il teorema di Cook–Levin?
- AP è diverso da NP
- BIl problema della soddisfacibilità booleana (SAT) è NP-completo
- CIl problema della fermata è indecidibile
- DOgni problema NP si può risolvere in tempo esponenziale