1.Facile
Accedere a un elemento di un array tramite indice richiede:
- AO(1)
- BO(n)
- CO(log n)
- DO(n²)
2.Facile
Qual è la complessità temporale della visita in profondità (DFS) su un grafo memorizzato con liste di adiacenza?
- AO(E log V)
- BO(V × E)
- CO(V + E)
- DO(V²)
3.Facile
Un algoritmo con due cicli annidati, ciascuno eseguito n volte, ha tipicamente quale complessità?
- AO(log n)
- BO(n²)
- CO(n)
- DO(2n)
4.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 3 monete; l'ottimo è 3
- CIl greedy usa 2 monete; l'ottimo è 2
- DIl greedy usa 4 monete; l'ottimo è 3
5.Media
Qual è la complessità temporale di: for i = 1 to n: (j = 1; while j < n: j = j × 2)?
- AO(n log n)
- BO(n²)
- CO(log n)
- DO(n)
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
- BFa crescere un unico albero da un vertice iniziale, aggiungendo l'arco più economico che esce dall'albero
- CRimuove l'arco più costoso finché non restano cicli
- DEsegue una visita in ampiezza e conserva l'albero BFS
7.Difficile
Che cosa seguirebbe se qualcuno trovasse un algoritmo in tempo polinomiale per un problema NP-completo?
- ATutti gli algoritmi a tempo esponenziale diventerebbero subito lineari
- BOgni problema in NP si potrebbe risolvere in tempo polinomiale, quindi P = NP
- CSolo quel problema passerebbe in P
- DIl problema della fermata diventerebbe decidibile
8.Difficile
Usando il teorema dell'esperto (master theorem), T(n) = 8T(n/2) + O(n²) ha come soluzione:
- AΘ(n³)
- BΘ(n²)
- CΘ(n² log n)
- DΘ(n log n)
Soluzioni
- 1. A · O(1)
- 2. C · O(V + E)
- 3. B · O(n²)
- 4. A · Il greedy usa 3 monete; l'ottimo è 2
- 5. A · O(n log n)
- 6. B · Fa crescere un unico albero da un vertice iniziale, aggiungendo l'arco più economico che esce dall'albero
- 7. B · Ogni problema in NP si potrebbe risolvere in tempo polinomiale, quindi P = NP
- 8. A · Θ(n³)
Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.