Che cos’è una ricerca binaria?

Supponiamo che una persona abbia un vasto assortimento di oggetti e li disponga in modo ordinato in una lunga fila. Quell’individuo può capire rapidamente dove nella riga si trova un particolare oggetto utilizzando una ricerca binaria. Questa ricerca viene eseguita controllando l’elemento centrale nella riga e se l’oggetto centrale non è l’elemento cercato, in seguito guardando solo una delle metà della riga in cui potrebbe trovarsi l’elemento. La persona saprebbe in quale metà continuare a guardare perché gli elementi sono disposti in ordine. Questi due passaggi vengono eseguiti più e più volte, su metà sempre più piccole, finché l’oggetto non viene trovato o non c’è più nessun posto dove cercare.

Nel campo dell’informatica, una ricerca binaria è una procedura passo passo che trova la posizione, o l’indice, di un elemento in un insieme di dati ordinato in sequenza. Lo fa confrontando un valore noto con un elemento centrale designato dell’array e, se non è equivalente, vincolando ripetutamente il confronto dell’elemento centrale alla metà rilevante più piccola dell’insieme fino a quando non si ottiene un’equivalenza o l’elenco è esaurito.

Una ricerca binaria, a volte chiamata ricerca a metà intervallo, è molto più veloce di una ricerca sequenziale di base che inizia a un’estremità di un elenco di elementi e confronta ogni elemento lungo il percorso finché non viene trovata una corrispondenza o finché la ricerca non raggiunge la fine di la lista. Se una persona aveva 100 elementi di fila e l’ultimo elemento era quello cercato, una ricerca sequenziale richiederebbe 100 confronti. Il metodo di bisezione, tuttavia, richiede solo sette confronti al massimo prima che l’elemento venga trovato. È ovviamente molto più efficiente di una ricerca sequenziale.

Il più grande svantaggio di una ricerca binaria è che l’elenco di elementi deve essere ordinato affinché questa ricerca funzioni. L’ordinamento di un elenco richiede tempo. L’ordinamento quindi utilizzando questo tipo di ricerca potrebbe richiedere più tempo rispetto all’esecuzione di un altro tipo di ricerca in primo luogo.

Essere in grado di utilizzare le informazioni, specialmente da set di dati molto grandi, è importante per svolgere molti compiti nella vita. La disciplina dell’informatica si occupa di molti tipi di problemi, incluso trovare modi efficienti per cercare informazioni in modo da ottenere risultati utili. Una ricerca binaria è solo uno dei tanti algoritmi disponibili per la ricerca nei dati.