Algoritmo di ricerca binaria.

Gli algoritmi più famosi
PageRank, Algoritmo di PageRank, Gli algoritmi più famosi, Algoritmo di ordinamento rapido, Algoritmo di Dijkstra, Algoritmo di RSA, Algoritmo di ricerca binaria, Algoritmo di backpropagation, Algoritmo di clustering k-means, Algoritmo di ordinamento a bolle (Bubble Sort),

di Sergio Mauri

L’algoritmo di ricerca binaria è un algoritmo efficiente per trovare un elemento in un elenco ordinato. Si basa sul principio della divisione e conquista e funziona come segue:

  1. Inizializzazione: l’array in cui eseguire la ricerca deve essere ordinato in modo non decrescente per garantire l’efficacia dell’algoritmo.
  2. Definizione dei puntatori: si definisce un puntatore iniziale all’inizio dell’array chiamato low e un puntatore finale alla fine dell’array chiamato high.
  3. Calcolo del punto medio: si calcola l’indice medio dell’array come mid=low+high/2​.
  4. Confronto con l’elemento cercato:
    • Se l’elemento nell’indice medio è uguale all’elemento cercato, l’elemento è stato trovato e l’algoritmo restituisce l’indice medio.
    • Se l’elemento nell’indice medio è maggiore dell’elemento cercato, si aggiorna il puntatore high a mid - 1 e si continua la ricerca nella metà sinistra dell’array.
    • Se l’elemento nell’indice medio è minore dell’elemento cercato, si aggiorna il puntatore low a mid + 1 e si continua la ricerca nella metà destra dell’array.
  5. Ripetizione del processo: Si ripetono i passaggi 3 e 4 fino a quando l’elemento cercato viene trovato o fino a quando low supera high. In quest’ultimo caso, l’elemento non è presente nell’array e la ricerca binaria restituisce un valore convenzionale (ad esempio -1).

La complessità dell’algoritmo di ricerca binaria è O(log n), dove n è la dimensione dell’array. Ciò significa che l’algoritmo è in grado di trovare un elemento in un grande insieme di dati in modo efficiente, poiché riduce il numero di confronti richiesti per trovare l’elemento desiderato.

Sergio Mauri
Autore Sergio Mauri Blogger. Premio speciale al Concorso Claudia Ruggeri nel 2007; terzo posto al Premio Igor Slavich nel 2020. Ha pubblicato con Terra d’Ulivi nel 2007 e nel 2011, con Hammerle Editori nel 2013 e 2014 e con Historica Edizioni e Alcova Letteraria nel 2022 e Silele Edizioni (La Tela Nera) nel 2023.
** Se puoi sostenere il mio lavoro, comprami un libro **