1.Facile
Accedere a un elemento di un array tramite indice richiede:
- AO(n)
- BO(1)
- CO(n²)
- DO(log n)
2.Facile
Che cosa significa che un'operazione ha tempo O(1)?
- AIl suo tempo di esecuzione non cresce con la dimensione dell'input
- BElabora esattamente un elemento per ogni secondo di tempo di esecuzione
- CRichiede sempre esattamente un secondo
- DPuò essere eseguita una sola volta
3.Facile
Qual è il caso base di una funzione ricorsiva?
- ALa chiamata che usa più memoria
- BIl caso con l'input più grande, che viene gestito prima di qualsiasi chiamata ricorsiva
- CLa prima riga della funzione
- DUn caso a cui si risponde direttamente senza un'altra chiamata ricorsiva
4.Media
È corretto dire che un algoritmo O(n²) è anche O(n³)?
- ASì, ma solo se n è minore di 100
- BNo, perché l'O grande deve indicare sempre l'esatto tasso di crescita della funzione
- CNo, perché per n grande n³ è minore di n²
- DSì, perché l'O grande è un limite superiore e n² non cresce più velocemente di n³
5.Media
Che cosa significa che un problema ha una sottostruttura ottima?
- AOgni sottoproblema ha la stessa dimensione
- BIl problema ha esattamente una soluzione ottima, condivisa da ogni sottoproblema
- CUna soluzione ottima può essere costruita da soluzioni ottime dei suoi sottoproblemi
- DIl problema si può risolvere in tempo costante
6.Media
Come costruisce l'algoritmo di Prim un albero ricoprente minimo?
- AOrdina tutti gli archi per peso e aggiunge ciascuno di essi a meno che non formi un ciclo nella foresta
- BRimuove l'arco più costoso finché non restano cicli
- CEsegue una visita in ampiezza e conserva l'albero BFS
- DFa crescere un unico albero da un vertice iniziale, aggiungendo l'arco più economico che esce dall'albero
7.Difficile
L'algoritmo di programmazione dinamica di Held–Karp risolve esattamente il problema del commesso viaggiatore. Qual è il suo tempo di esecuzione per n città?
- AO(n!)
- BO(n² 2ⁿ)
- CO(n³)
- DO(2n²)
8.Difficile
Usando il teorema dell'esperto (master theorem), T(n) = 8T(n/2) + O(n²) ha come soluzione:
- AΘ(n²)
- BΘ(n² log n)
- CΘ(n log n)
- DΘ(n³)
Soluzioni
- 1. B · O(1)
- 2. A · Il suo tempo di esecuzione non cresce con la dimensione dell'input
- 3. D · Un caso a cui si risponde direttamente senza un'altra chiamata ricorsiva
- 4. D · Sì, perché l'O grande è un limite superiore e n² non cresce più velocemente di n³
- 5. C · Una soluzione ottima può essere costruita da soluzioni ottime dei suoi sottoproblemi
- 6. D · Fa crescere un unico albero da un vertice iniziale, aggiungendo l'arco più economico che esce dall'albero
- 7. B · O(n² 2ⁿ)
- 8. D · Θ(n³)
Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.