1.Facile
Che cos'è un algoritmo a forza bruta?
- AUn algoritmo che gira su molti processori
- BUn algoritmo che tira a indovinare una risposta a caso
- CUn algoritmo che usa sempre la ricorsione
- DUn algoritmo che prova tutte le possibili soluzioni candidate
2.Facile
Come funziona il selection sort?
- ADivide l'array a metà e le fonde
- BTrova ripetutamente il minimo della parte non ordinata e lo scambia portandolo in testa
- CScambia ripetutamente elementi adiacenti che sono nell'ordine sbagliato
- DInserisce ogni elemento in una parte ordinata crescente spostando gli altri
3.Facile
Quanta memoria aggiuntiva usa un merge sort standard su array?
- AO(n)
- BO(1)
- CO(n²)
- DO(log n)
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 è 3
- BIl greedy usa 2 monete; l'ottimo è 2
- CIl greedy usa 3 monete; l'ottimo è 2
- DIl greedy usa 4 monete; l'ottimo è 3
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(k n log n)
- BO(nk)
- CO(n + k)
- DO(n log n + k log n)
6.Media
Qual è la complessità temporale dell'algoritmo standard di programmazione dinamica per la sottosequenza comune più lunga di stringhe di lunghezze m e n?
- AO(m + n)
- BO(2m+n)
- CO(mn)
- DO(mn log n)
7.Difficile
Qual è la soluzione della ricorrenza T(n) = 2T(n/2) + n log n?
- AΘ(n log n)
- BΘ(n)
- CΘ(n log² n)
- DΘ(n²)
8.Difficile
Come rileva l'algoritmo di Bellman–Ford un ciclo di peso negativo raggiungibile dalla sorgente?
- AEsegue due volte l'algoritmo di Dijkstra e confronta i due risultati delle distanze
- BControlla se qualche arco ha peso negativo
- CDopo V − 1 turni controlla se qualche arco può ancora essere rilassato
- DConta i cicli con una visita in profondità
Soluzioni
- 1. D · Un algoritmo che prova tutte le possibili soluzioni candidate
- 2. B · Trova ripetutamente il minimo della parte non ordinata e lo scambia portandolo in testa
- 3. A · O(n)
- 4. C · Il greedy usa 3 monete; l'ottimo è 2
- 5. D · O(n log n + k log n)
- 6. C · O(mn)
- 7. C · Θ(n log² n)
- 8. C · Dopo V − 1 turni controlla se qualche arco può ancora essere rilassato
Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.