Ricerca binaria ripasso

Ripasso sulla ricerca binaria, utile per la preparazione all'esame di maturità. Include definizioni, caratteristiche, esempi e differenze rispetto ad altri algoritmi di ricerca.

Vittoria85·40 schede·40 domande
maturitàcomputer_sciencealgorithms
0
Lo so
1 / 40
0
Sto imparando
Fronte

Ricerca binaria: definizione

Tocca per girare
Retro

È un algoritmo per la ricerca di un elemento in un array ordinato. Divide la lista in metà ad ogni passo.

Tocca per girare
Lo so
Sto imparando

Quiz(40 domande)

Domanda 1 di 40

1. Che cosa è la ricerca binaria?

Termini in questo set(40)

Fondamenti della Ricerca Binaria(16)

Ricerca binaria: definizione

È un algoritmo per la ricerca di un elemento in un array ordinato. Divide la lista in metà ad ogni passo.

Condizioni per la ricerca binaria

L'array deve essere ordinato. Altrimenti, il risultato è imprevedibile.

Funzionamento della ricerca binaria

1. Inizia con i limiti inferiore e superiore. 2. Calcola il punto medio. 3. Confronta il valore cercato con l'elemento centrale. 4. Ripeti la ricerca nella metà pertinente.

Ricerca binaria è più veloce di:

Ricerca lineare, specialmente per array grandi.

Vero o falso: la ricerca binaria funziona su array non ordinati.

Falso. Deve essere applicata solo su array ordinati.

Esempio di array ordinato

[1, 3, 5, 7, 9] - Ricerca di 5: trova in posizione 2.

Formula per trovare l'indice centrale

Indice centrale: mid=lower+upper2\displaystyle mid = \frac{lower + upper}{2}

Numero massimo di operazioni

È O(extlogn)\displaystyle O( ext{log} n), dove n è il numero di elementi.

Passaggi della ricerca binaria

1. Calcola il punto medio. 2. Confronta. 3. Aggiorna limiti. 4. Ripeti finché non trovi l’elemento o gli intervalli si sovrappongono.

Limiti della ricerca binaria

Funziona solo su array ordinati e non è ottimale per piccole dimensioni.

Vero o falso: la ricerca binaria modifica l'array.

Falso. Non modifica l'array, cerca solo.

Ricerca binaria vs ricerca lineare

Ricerca binaria è più efficiente su grandi dataset, ricerca lineare è più semplice.

Cosa rappresenta 'lower' e 'upper'?

'lower' è l'indice iniziale, 'upper' è l'indice finale dell'array durante la ricerca.

Efficienza della ricerca binaria

Richiede log2(n) confronti nel caso migliore, medio e peggiore.

Esempio di ricerca binaria in pseudocodice

funzione ricercaBinaria(array, valore): inizio = 0 fine = lunghezza(array) - 1 mentre inizio ≤ fine: ... [implementazione]

Cosa è l'array?

Una struttura dati che contiene una sequenza di elementi dello stesso tipo.

Complessità e Performance(12)

Complessità temporale della ricerca binaria?

La complessità temporale è O(extlogn)\displaystyle O( ext{log} n), dove n\displaystyle n è il numero di elementi.

Complessità spaziale della ricerca binaria?

La complessità spaziale è O(1)\displaystyle O(1) per la versione iterativa e O(extlogn)\displaystyle O( ext{log} n) per la versione ricorsiva.

La ricerca binaria funziona su dati non ordinati: vero o falso?

Falso. La ricerca binaria richiede che i dati siano ordinati.

Differenza tra ricerca binaria e lineare?

La ricerca binaria è O(extlogn)\displaystyle O( ext{log} n), mentre la ricerca lineare è O(n)\displaystyle O(n).

Quando si verifica il caso peggiore nella ricerca binaria?

Si verifica quando l'elemento cercato non è presente o è all'estremo.

Formula per calcolare il numero di confronti nella ricerca binaria?

Il numero massimo di confronti è extlog2(n)+1\displaystyle ext{log}_2(n) + 1.

Cosa succede se l'array non è ordinato?

La ricerca binaria non funzionerà correttamente e darà risultati errati.

Esempio di complessità temporale con 16 elementi?

Con 16 elementi, la ricerca binaria effettua al massimo 5 confronti: 25=32\displaystyle 2^5 = 32.

Condizioni per l'applicazione della ricerca binaria?

- Dati ordinati - Accesso casuale agli elementi

La ricerca binaria è più veloce della ricerca lineare: vero o falso?

Vero, per grandi dataset, grazie alla sua complessità logaritmica.

Cosa influisce sulla performance della ricerca binaria?

La dimensione dell'array e l'ordinamento dei dati influiscono direttamente.

Partizione dell'array nella ricerca binaria?

L'array viene diviso in due metà ad ogni confronto, riducendo la ricerca.

Applicazioni e Vantaggi(12)

Applicazione: ricerca in un elenco ordinato

La ricerca binaria è utilizzata per trovare rapidamente un elemento in un elenco ordinato.

Vantaggio della ricerca binaria

Richiede solo O(extlogn)\displaystyle O( ext{log } n) confronti per trovare un elemento, molto più efficiente di O(n)\displaystyle O(n).

Vero o falso: la ricerca binaria funziona su dati non ordinati.

Falso. Necessita che i dati siano ordinati per funzionare correttamente.

Situazione pratica: ricerca in lettere alfabetiche.

Quando si cerca una lettera in un dizionario ordinato, la ricerca binaria è molto efficace.

Comparazione: ricerca binaria vs. ricerca lineare.

Ricerca binaria è più veloce in O(extlogn)\displaystyle O( ext{log } n), mentre la ricerca lineare è O(n)\displaystyle O(n).

Esempio di uso: trovare un numero in un elenco.

Cerca 25 in [1, 5, 10, 15, 20, 25, 30]. Risultato: trovato in posizione 5.

Applicazione in database

Utilizzata per migliorare le prestazioni delle query su tabelle ordinate.

Vantaggio nell'analisi dei dati

Consente di analizzare grandi dataset in modo rapido e con meno risorse.

Completa: La ricerca binaria è ideale per __________.

elenco ordinato di elementi.

Vero o falso: la ricerca binaria richiede dati già ordinati.

Vero. È essenziale che i dati siano ordinati prima dell'uso.

Applicazione nei linguaggi di programmazione

Utilizzata in algoritmi di ricerca e ordinamento in linguaggi come Python e Java.

Cause ed effetti: come migliora la ricerca?

Riduce il numero di confronti, aumentando l'efficienza, specialmente in set di dati grandi.

Domande in questo set(40)

1. Che cosa è la ricerca binaria?

A.Un algoritmo per cercare in array ordinati.
B.Un metodo per ordinare gli elementi.
C.Una tecnica di crittografia.
D.Un algoritmo di ricerca casuale.

2. Qual è la complessità temporale della ricerca binaria?

A.O(log n)
B.O(n)
C.O(n log n)
D.O(1)

3. Qual è l'applicazione principale della ricerca binaria?

A.Trovare rapidamente un elemento in un elenco ordinato
B.Ordinare un elenco di dati non ordinati
C.Effettuare ricerca lineare
D.Analizzare dati non strutturati

4. Quale delle seguenti condizioni è necessaria per utilizzare la ricerca binaria?

A.L'array deve essere ordinato.
B.L'array deve avere un numero dispari di elementi.
C.L'array deve contenere solo numeri interi.
D.L'array deve essere di dimensione fissa.

5. Quale delle seguenti affermazioni è vera riguardo alla complessità spaziale della ricerca binaria?

A.È O(1) per la versione iterativa
B.È O(n) per la versione ricorsiva
C.È O(log n) per la versione iterativa
D.È O(1) per entrambe le versioni

6. Qual è il principale vantaggio della ricerca binaria rispetto alla ricerca lineare?

A.Richiede solo O(log n) confronti
B.Funziona su dati non ordinati
C.È più semplice da implementare
D.Richiede più memoria

7. Qual è il primo passo nell'implementazione della ricerca binaria?

A.Calcolare il punto medio.
B.Confrontare l'elemento centrale.
C.Aggiornare i limiti inferiori e superiori.
D.Restituire l'indice dell'elemento trovato.

8. La ricerca binaria può essere applicata a dataset non ordinati: vero o falso?

A.Falso
B.Vero
C.Solo in parte
D.Dipende dal caso

9. Vero o falso: la ricerca binaria può essere utilizzata su un elenco di nomi non ordinati.

A.Vero
B.Falso
C.Solo in alcuni casi
D.Dipende dal linguaggio di programmazione

10. Quale delle seguenti affermazioni è VERA riguardo la ricerca binaria?

A.Funziona solo su array ordinati.
B.Richiede meno confronti in un array non ordinato.
C.È sempre più lenta della ricerca lineare.
D.Può modificare l'array durante la ricerca.

11. Qual è la principale differenza tra ricerca binaria e ricerca lineare?

A.La ricerca binaria è O(log n), la lineare è O(n)
B.La ricerca lineare è più veloce
C.La ricerca binaria funziona su dati non ordinati
D.La ricerca lineare richiede meno confronti

12. In quale situazione pratica la ricerca binaria è particolarmente efficace?

A.Cercare un numero in un elenco di numeri ordinati
B.Trovare informazioni in un database non ordinato
C.Ordinare dati in tempo reale
D.Cercare un numero in un elenco di nomi

13. Quando la ricerca binaria è più veloce rispetto alla ricerca lineare?

A.Quando l'array è grande.
B.Quando l'array è piccolo.
C.Quando si cerca un elemento raro.
D.Quando l'array è non ordinato.

14. Quando si verifica il caso peggiore nella ricerca binaria?

A.Quando l'elemento è presente
B.Quando l'array è di dimensione 1
C.Quando l'elemento cercato è all'estremo
D.Quando l'array è ordinato

15. Quale affermazione è corretta riguardo alla complessità della ricerca binaria?

A.È O(log n)
B.È O(n)
C.È O(n log n)
D.È O(1)

16. Qual è la complessità temporale della ricerca binaria?

A.O(log n)
B.O(n)
C.O(n log n)
D.O(1)

17. Qual è la formula per calcolare il numero massimo di confronti nella ricerca binaria?

A.log2(n) + 1
B.n + 1
C.n/2
D.log2(n)

18. Quale delle seguenti affermazioni è falsa riguardo alla ricerca binaria?

A.Richiede dati ordinati
B.È più veloce della ricerca lineare per elenchi grandi
C.È più facile da implementare di una ricerca lineare
D.Utilizza il metodo di divisione per trovare un elemento

19. Cosa rappresenta l'indice centrale nella ricerca binaria?

A.La media dei limiti inferiori e superiori.
B.Il valore dell'elemento centrale.
C.L'indice dell'elemento più grande.
D.L'indice dell'elemento più piccolo.

20. Quale affermazione è vera riguardo all'array non ordinato?

A.La ricerca binaria funziona correttamente
B.Dà risultati errati
C.Richiede più confronti
D.Può essere usata senza preparazione

21. Esempio di utilizzo: se cerchiamo il numero 30 in [10, 20, 30, 40, 50], quale sarà la posizione di 30?

A.2
B.1
C.3
D.4

22. Quale affermazione è FALSA riguardo alla ricerca binaria?

A.Non modifica l'array originale.
B.Funziona su array non ordinati.
C.Ha una complessità O(log n).
D.Richiede un array ordinato.

23. Quanti confronti massimi si effettuano con 16 elementi durante la ricerca binaria?

A.4
B.5
C.6
D.3

24. In che modo la ricerca binaria migliora l'analisi dei dati?

A.Riduce il numero di confronti
B.Aumenta la dimensione dei dati
C.Richiede più risorse di calcolo
D.Lavora solo con dati ordinati

25. Qual è il massimo numero di operazioni che può richiedere la ricerca binaria?

A.O(log n)
B.O(n)
C.O(n^2)
D.O(1)

26. Quali sono le condizioni necessarie per applicare la ricerca binaria?

A.Dati ordinati e accesso sequenziale
B.Dati ordinati e accesso casuale
C.Dati non ordinati e accesso casuale
D.Dati non ordinati e accesso sequenziale

27. Completa: La ricerca binaria è ideale per __________.

A.elenchi ordinati di elementi
B.dati non strutturati
C.analisi in tempo reale
D.ricerca lineare

28. In che modo la ricerca binaria aggiorna i limiti durante la ricerca?

A.Riduce l'intervallo a metà.
B.Aggiunge un elemento all'array.
C.Elimina l'elemento cercato.
D.Non aggiorna i limiti.

29. La ricerca binaria è più veloce della ricerca lineare: vero o falso?

A.Vero
B.Falso
C.Solo per piccole dimensioni
D.Dipende dalla programmazione

30. Vero o falso: la ricerca binaria è utilizzata solo nei linguaggi di programmazione più complessi.

A.Vero
B.Falso
C.Dipende dal tipo di applicazione
D.Solo in algoritmi di ordinamento

31. Cosa accade se l'array è troppo piccolo per la ricerca binaria?

A.La ricerca lineare è più raccomandata.
B.La ricerca binaria non funziona.
C.La ricerca binaria è più lenta.
D.La ricerca binaria non restituisce risultati.

32. Cosa influisce sulla performance della ricerca binaria?

A.Solo la dimensione dell'array
B.L'ordinamento dei dati e la dimensione dell'array
C.Solo l'ordinamento dei dati
D.Nessuno dei precedenti

33. Quale delle seguenti opzioni NON è un'applicazione tipica della ricerca binaria?

A.Migliorare le prestazioni delle query in database ordinati
B.Ordinare un elenco di dati non ordinati
C.Cercare valori in un array ordinato
D.Utilizzare algoritmi di ricerca in linguaggi come Java

34. Quale dei seguenti è un esempio di array ordinato?

A.[2, 4, 6, 8, 10]
B.[5, 1, 3, 9, 7]
C.[1, 3, 2, 4, 5]
D.[10, 20, 15, 30, 25]

35. Come avviene la partizione dell'array nella ricerca binaria?

A.Viene diviso in tre parti
B.Viene diviso in due metà
C.Non avviene alcuna partizione
D.Viene diviso in quattro parti

36. Qual è il principale svantaggio della ricerca binaria rispetto ad altri metodi?

A.Richiede che i dati siano ordinati
B.È sempre più lenta
C.Non può essere implementata in linguaggi moderni
D.Richiede più memoria

37. Quale delle seguenti affermazioni è corretta riguardo 'lower' e 'upper' nella ricerca binaria?

A.'lower' è l'indice iniziale e 'upper' è l'indice finale.
B.'lower' rappresenta il valore minimo nell'array.
C.'upper' rappresenta il valore massimo nell'array.
D.'lower' e 'upper' sono sempre uguali.

38. Che cosa è un array?

A.Una struttura dati che contiene una sequenza di elementi dello stesso tipo.
B.Un tipo di algoritmo di ordinamento.
C.Un metodo per cercare valori in una lista.
D.Un modo per rappresentare grafi.

39. Quale tra le seguenti affermazioni è corretta riguardo al numero massimo di confronti richiesti dalla ricerca binaria?

A.È O(log n)
B.È O(n)
C.È O(n log n)
D.Non ha limiti definiti

40. In quale situazione la ricerca binaria non produce risultati affidabili?

A.Quando l'array è ordinato
B.Quando l'array contiene duplicati
C.Quando l'array è non ordinato
D.Quando si cerca un valore che non esiste

Set correlati

Crea il tuo set di studio

Carica un PDF, incolla le tue note o descrivi un argomento – l'IA genera schede, quiz e altro in pochi secondi.