1.Facile
Un problema si dice di solito trattabile se:
- APuò essere risolto solo provando ogni possibilità
- BNon ha soluzione
- CPuò essere risolto in tempo costante
- DPuò essere risolto in tempo polinomiale
2.Facile
Quale strategia di progettazione usa il merge sort?
- ADivide et impera
- BScelta greedy (golosa)
- CForza bruta
- DProgrammazione dinamica
3.Facile
Che cosa significa f(n) = Θ(g(n))?
- Af cresce strettamente più velocemente di g
- Bf cresce strettamente più lentamente di g
- Cf cresce allo stesso ritmo di g, limitata superiormente e inferiormente da multipli costanti di g
- Df è sempre minore di g per ogni n, quindi g la limita superiormente ma mai inferiormente
4.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(n + k)
- CO(k n log n)
- DO(nk)
5.Media
Qual è la complessità temporale della moltiplicazione di due matrici n × n con il triplo ciclo standard?
- AO(n)
- BO(n³)
- CO(n² log n)
- DO(n²)
6.Media
È corretto dire che un algoritmo O(n²) è anche O(n³)?
- ANo, perché l'O grande deve indicare sempre l'esatto tasso di crescita della funzione
- BSì, ma solo se n è minore di 100
- CNo, perché per n grande n³ è minore di n²
- DSì, perché l'O grande è un limite superiore e n² non cresce più velocemente di n³
7.Difficile
Perché qualsiasi ricerca basata su confronti in un array ordinato richiede Ω(log n) confronti nel caso peggiore?
- ALa ricerca binaria è l'unico algoritmo possibile e richiede log₂ n confronti
- BOgni confronto richiede un tempo logaritmico
- COgni elemento deve essere confrontato almeno una volta
- DUn albero di decisione con n esiti possibili deve avere profondità almeno log₂ n
8.Difficile
Il problema della fermata dimostra che:
- AOgni programma prima o poi si ferma
- BNessun algoritmo può decidere, per ogni programma e ogni input, se il programma si ferma
- CAlcuni programmi girano più velocemente su computer più veloci, quindi la terminazione dipende dall'hardware
- DI cicli andrebbero evitati
Soluzioni
- 1. D · Può essere risolto in tempo polinomiale
- 2. A · Divide et impera
- 3. C · f cresce allo stesso ritmo di g, limitata superiormente e inferiormente da multipli costanti di g
- 4. A · O(n log n + k log n)
- 5. B · O(n³)
- 6. D · Sì, perché l'O grande è un limite superiore e n² non cresce più velocemente di n³
- 7. D · Un albero di decisione con n esiti possibili deve avere profondità almeno log₂ n
- 8. B · Nessun algoritmo può decidere, per ogni programma e ogni input, se il programma si ferma
Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.