Vad är en binär sökning?

Anta att en person har ett mycket stort sortiment av föremål och ordnar dem på något ordnat sätt i en lång rad. Den personen kan snabbt ta reda på var i raden ett visst objekt befinner sig genom att använda en binär sökning. Denna sökning görs genom att markera mittobjektet i raden och om det mellersta objektet inte är det sökta objektet, tittar man därefter i endast en av radens halvor där objektet kan vara. Personen skulle veta vilken halva han ska fortsätta titta i eftersom föremålen är ordnade i ordning. Dessa två steg görs om och om igen, på mindre och mindre halvor, tills föremålet antingen hittas eller det inte finns någonstans kvar att leta efter.

Inom datavetenskap är en binär sökning en steg-för-steg-procedur som hittar platsen eller indexet för ett objekt i en sekventiellt sorterad datauppsättning. Den åstadkommer detta genom att jämföra ett känt värde med ett angivet mittelement i arrayen och, om det inte är ekvivalent, upprepade gånger begränsa jämförelsen av mittelementet till den mindre relevanta halvan av uppsättningen tills en ekvivalens erhålls eller listan är uttömd.

En binär sökning, ibland kallad en halvintervallssökning, är mycket snabbare än en grundläggande sekventiell sökning som börjar i ena änden av en lista med objekt och jämför varje objekt längs vägen tills en matchning hittas eller tills sökningen når slutet av listan. Om en person hade 100 objekt i rad och det sista objektet var det som söktes efter, skulle en sekventiell sökning ta 100 jämförelser. Bisektionsmetoden kräver dock endast högst sju jämförelser innan föremålet hittas. Det är uppenbarligen mycket effektivare än en sekventiell sökning.

Den största nackdelen med en binär sökning är att listan över objekt måste sorteras för att denna sökning ska fungera. Att sortera en lista tar tid. Att sortera och sedan använda den här typen av sökning kan ta mer tid än att göra en annan typ av sökning i första hand.

Att kunna använda information, särskilt från mycket stora datamängder, är viktigt för att utföra många uppgifter i livet. Disciplinen datavetenskap behandlar många typer av problem, inklusive att hitta effektiva sätt att söka information så att användbara resultat erhålls. En binär sökning är bara en av många tillgängliga algoritmer för att söka igenom data.