1.Facile
Che cosa richiede la ricerca binaria al suo input?
- AL'array deve contenere solo numeri positivi
- BL'array non deve avere più di 1000 elementi
- CLa lunghezza dell'array deve essere una potenza di due
- DL'array deve essere ordinato
2.Facile
Qual è la complessità temporale per trovare il valore massimo in un array non ordinato di n numeri?
- AO(log n)
- BO(n)
- CO(n log n)
- DO(1)
3.Facile
Che cos'è un algoritmo a forza bruta?
- AUn algoritmo che usa sempre la ricorsione
- BUn algoritmo che prova tutte le possibili soluzioni candidate
- CUn algoritmo che tira a indovinare una risposta a caso
- DUn algoritmo che gira su molti processori
4.Media
Quale affermazione su una funzione ricorsiva senza un caso base raggiungibile è corretta?
- ARestituisce automaticamente 0
- BIl compilatore la trasforma sempre in un ciclo che termina in modo sicuro
- CContinua a chiamare se stessa finché lo stack delle chiamate va in overflow
- DViene eseguita in tempo O(1)
5.Media
Qual è la soluzione della ricorrenza T(n) = T(n/2) + O(1)?
- AO(n log n)
- BO(1)
- CO(log n)
- DO(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(2m+n)
- BO(m + n)
- CO(mn)
- DO(mn log n)
7.Difficile
Per quale variante dello zaino la regola greedy "prendi gli oggetti in ordine di valore per peso" dà sempre una risposta ottima?
- ALo zaino 0/1, in cui gli oggetti si devono prendere sempre interi
- BNessuna delle due varianti
- CEntrambe le varianti
- DLo zaino frazionario, in cui gli oggetti si possono dividere
8.Difficile
Come rileva l'algoritmo di Bellman–Ford un ciclo di peso negativo raggiungibile dalla sorgente?
- AControlla se qualche arco ha peso negativo
- BEsegue due volte l'algoritmo di Dijkstra e confronta i due risultati delle distanze
- CDopo V − 1 turni controlla se qualche arco può ancora essere rilassato
- DConta i cicli con una visita in profondità
Soluzioni
- 1. D · L'array deve essere ordinato
- 2. B · O(n)
- 3. B · Un algoritmo che prova tutte le possibili soluzioni candidate
- 4. C · Continua a chiamare se stessa finché lo stack delle chiamate va in overflow
- 5. C · O(log n)
- 6. C · O(mn)
- 7. D · Lo zaino frazionario, in cui gli oggetti si possono dividere
- 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.