1.Facile
Quanta memoria aggiuntiva usa un merge sort standard su array?
- AO(n)
- BO(log n)
- CO(1)
- DO(n²)
2.Facile
Qual è la complessità temporale nel caso migliore dell'insertion sort, su un array già ordinato?
- AO(n log n)
- BO(n)
- CO(1)
- DO(n²)
3.Facile
Un algoritmo con due cicli annidati, ciascuno eseguito n volte, ha tipicamente quale complessità?
- AO(log n)
- BO(2n)
- CO(n²)
- DO(n)
4.Media
La ricorrenza T(n) = 2T(n/2) + O(n) ha come soluzione:
- AO(n log n)
- BO(log n)
- CO(n²)
- DO(n)
5.Media
La programmazione dinamica è utile quando un problema presenta:
- ANessun sottoproblema, quindi si risolve in un solo passo
- BSolo input casuali
- CUn unico ciclo
- DSottoproblemi sovrapposti e sottostruttura ottima
6.Media
Che cosa misura l'analisi ammortizzata?
- AIl costo atteso su input casuali
- BIl costo medio per operazione su una sequenza di operazioni nel caso peggiore
- CIl costo della singola operazione più costosa in un punto qualsiasi della sequenza
- DIl costo di un algoritmo sull'input migliore
7.Difficile
Qual è la soluzione della ricorrenza T(n) = 2T(n/2) + n log n?
- AΘ(n²)
- BΘ(n log² n)
- CΘ(n)
- DΘ(n log n)
8.Difficile
Qual è il costo ammortizzato dell'incremento di un contatore binario, dato che un incremento può invertire molti bit?
- AO(n log n) per incremento
- BO(log n) per incremento
- CO(1) per incremento
- DO(n) per incremento
Soluzioni
- 1. A · O(n)
- 2. B · O(n)
- 3. C · O(n²)
- 4. A · O(n log n)
- 5. D · Sottoproblemi sovrapposti e sottostruttura ottima
- 6. B · Il costo medio per operazione su una sequenza di operazioni nel caso peggiore
- 7. B · Θ(n log² n)
- 8. C · O(1) per incremento
Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.