Qui vi riporto il codice di un programma che di ricercare all’interno di un vettore un valore, attraverso la ricerca binaria. La differenza della ricerca binaria da quella sequenziale č il fatto che, quella binaria non controlla tutti i valori contenuti all’interno del vettore, ma:
inizialmente controlla gli estremi dell’intervallo e il valore intermedio. Se il valore non č uguale a nessuno dei tre, allora controlla se il valore cercato č maggiore o minore di quello centrale all’intervallo del vettore; se č minore, il programma reimposta l’estremo destro al valore centrale. Se invece č maggiore, reimposta l’estremo sinistro al valore centrale. Al termine, il programma fornisce il risultato della ricerca: se il valore č stato trovato scrive: “il valore č stato trovato”, altrimenti scrive: “Il valore non č stato trovato”.Il vantaggio che se i numeri sono n, non esegue n controlli ma solo log n.
Abbiamo creato due diversi programmi: uno chiede all’utente i numeri da inserire nel vettore, l’altro, invece, li crea casualmente.
Ecco il file sorgente
Spero possa esservi utile.
Buon divertimento.
Lifedj