1.Facile
Che cosa significa che un'operazione ha tempo O(1)?
- AIl suo tempo di esecuzione non cresce con la dimensione dell'input
- BPuò essere eseguita una sola volta
- CElabora esattamente un elemento per ogni secondo di tempo di esecuzione
- DRichiede sempre esattamente un secondo
2.Facile
La complessità spaziale misura:
- ALe dimensioni fisiche del computer
- BIl numero di righe di codice
- CLo spazio su disco del file del programma una volta compilato
- DLa quantità di memoria di cui un algoritmo ha bisogno al crescere dell'input
3.Facile
Quale strategia di progettazione usa il merge sort?
- AScelta greedy (golosa)
- BProgrammazione dinamica
- CDivide et impera
- DForza bruta
4.Media
Perché molte routine di ordinamento delle librerie passano all'insertion sort per sottoarray molto piccoli?
- AL'insertion sort ha poco overhead ed è veloce su input piccoli o quasi ordinati
- BGli algoritmi ricorsivi non gestiscono array con meno di 10 elementi
- CL'insertion sort usa meno memoria di qualsiasi altro algoritmo di ordinamento per input grandi
- DL'insertion sort è O(n log n) nel caso peggiore
5.Media
Ordini una volta un array di n elementi e poi rispondi a k query di appartenenza con la ricerca binaria. Qual è il costo totale?
- AO(n log n + k log n)
- BO(nk)
- CO(k n log n)
- DO(n + k)
6.Media
Un algoritmo greedy (goloso):
- AFornisce sempre la soluzione ottima
- BUsa solo la ricorsione
- CProva ogni soluzione possibile
- DCompie la scelta localmente migliore a ogni passo
7.Difficile
22n è in O(2ⁿ)?
- ANo, perché 22n = 4ⁿ e 4ⁿ / 2ⁿ = 2ⁿ cresce senza limite
- BSì, perché i fattori costanti nell'esponente si ignorano sempre nell'O grande
- CNo, perché 22n cresce più lentamente di 2ⁿ
- DSì, perché sono entrambi esponenziali
8.Difficile
Quale algoritmo trova un albero ricoprente minimo aggiungendo ripetutamente l'arco più economico che non forma un ciclo?
- AAlgoritmo di Kruskal
- BAlgoritmo di Dijkstra
- CFloyd-Warshall
- DAlgoritmo di Prim a partire da un nodo
Soluzioni
- 1. A · Il suo tempo di esecuzione non cresce con la dimensione dell'input
- 2. D · La quantità di memoria di cui un algoritmo ha bisogno al crescere dell'input
- 3. C · Divide et impera
- 4. A · L'insertion sort ha poco overhead ed è veloce su input piccoli o quasi ordinati
- 5. A · O(n log n + k log n)
- 6. D · Compie la scelta localmente migliore a ogni passo
- 7. A · No, perché 22n = 4ⁿ e 4ⁿ / 2ⁿ = 2ⁿ cresce senza limite
- 8. A · Algoritmo di Kruskal
Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.