1.Facile
Come funziona il selection sort?
- AInserisce ogni elemento in una parte ordinata crescente spostando gli altri
- BScambia ripetutamente elementi adiacenti che sono nell'ordine sbagliato
- CDivide l'array a metà e le fonde
- DTrova ripetutamente il minimo della parte non ordinata e lo scambia portandolo in testa
2.Facile
Che cosa significa che un'operazione ha tempo O(1)?
- AElabora esattamente un elemento per ogni secondo di tempo di esecuzione
- BIl suo tempo di esecuzione non cresce con la dimensione dell'input
- CRichiede sempre esattamente un secondo
- DPuò essere eseguita una sola volta
3.Facile
Che cos'è la memoizzazione?
- AConvertire automaticamente la ricorsione in un ciclo equivalente così da non avere bisogno dello stack delle chiamate
- BLiberare la memoria dopo il ritorno di una funzione
- CMemorizzare i risultati delle chiamate di funzione così che le chiamate ripetute ottengano la risposta dalla memoria
- DScrivere commenti accanto a ogni riga di codice
4.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²)
5.Media
Quanto spazio di stack usa una semplice funzione fattoriale ricorsiva fact(n) = n × fact(n − 1)?
- AO(log n)
- BO(n)
- CO(1)
- DO(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 2 monete; l'ottimo è 2
- BIl greedy usa 4 monete; l'ottimo è 3
- CIl greedy usa 3 monete; l'ottimo è 2
- DIl greedy usa 3 monete; l'ottimo è 3
7.Difficile
Quale algoritmo trova un albero ricoprente minimo aggiungendo ripetutamente l'arco più economico che non forma un ciclo?
- AAlgoritmo di Prim a partire da un nodo
- BAlgoritmo di Dijkstra
- CFloyd-Warshall
- DAlgoritmo di Kruskal
8.Difficile
22n è in O(2ⁿ)?
- ANo, perché 22n cresce più lentamente di 2ⁿ
- BSì, perché sono entrambi esponenziali
- CSì, perché i fattori costanti nell'esponente si ignorano sempre nell'O grande
- DNo, perché 22n = 4ⁿ e 4ⁿ / 2ⁿ = 2ⁿ cresce senza limite
Soluzioni
- 1. D · Trova ripetutamente il minimo della parte non ordinata e lo scambia portandolo in testa
- 2. B · Il suo tempo di esecuzione non cresce con la dimensione dell'input
- 3. C · Memorizzare i risultati delle chiamate di funzione così che le chiamate ripetute ottengano la risposta dalla memoria
- 4. A · O(n log n)
- 5. B · O(n)
- 6. C · Il greedy usa 3 monete; l'ottimo è 2
- 7. D · Algoritmo di Kruskal
- 8. D · No, perché 22n = 4ⁿ e 4ⁿ / 2ⁿ = 2ⁿ cresce senza limite
Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.