Hai incontrato un gruppo di matematici che sono anche cantautori. Hanno scritto una canzone per ciascuno dei loro numeri preferiti e, come puoi immaginare, hanno un sacco di numeri preferiti (come 0 o 73 o 6174).
Sei curioso di sentire la canzone del tuo numero preferito, ma con così tante canzoni da setacciare, trovare quella giusta potrebbe richiedere un po' di tempo. Per fortuna, hanno organizzato le loro canzoni in una playlist ordinata per titolo, che poi è semplicemente il numero di cui parla la canzone.
A questo punto ti rendi conto che puoi usare un algoritmo di ricerca binaria per trovare rapidamente una canzone a partire dal titolo.
Il tuo compito è implementare un algoritmo di ricerca binaria.
Un algoritmo di ricerca binaria trova un elemento in un array dividendolo ripetutamente a metà e tenendo solo la metà che contiene l'elemento che stiamo cercando. Ci permette di restringere rapidamente le possibili posizioni del nostro elemento finché non lo troviamo, o finché non abbiamo eliminato tutte le posizioni possibili.
La ricerca binaria funziona solo se l'array è ordinato.
L'algoritmo funziona così:
Ecco un esempio:
Supponiamo di cercare il numero 23 nel seguente array ordinato: [4, 8, 12, 16, 23, 28, 32].
[23, 28, 32].[23].Se l'elemento non è presente nell'array, restituisci il simbolo 'not-found.
L'array verrà passato come vettore.
Iscriviti a Exercism per imparare e padroneggiare Scheme con 39 esercizi e il mentoring di persone reali, tutto gratis.