Što je binarno pretraživanje?

Pretpostavimo da osoba ima vrlo velik asortiman artikala i poreda ih na neki uredni način u dugi niz. Taj pojedinac može brzo shvatiti gdje se u retku nalazi određeni objekt pomoću binarnog pretraživanja. Ovo pretraživanje se vrši provjerom srednje stavke u retku i ako srednji objekt nije tražena stavka, nakon toga se traži samo jedna od polovica retka gdje bi stavka mogla biti. Osoba bi znala u koju polovicu nastaviti tražiti jer su predmeti poredani po redu. Ova dva koraka rade se iznova i iznova, na sve manje i manje polovice, sve dok se predmet ili ne nađe ili ga više nema gdje tražiti.

U području računalne znanosti, binarno pretraživanje je postupak korak po korak kojim se pronalazi mjesto ili indeks stavke u sekvencijalno sortiranom skupu podataka. To postiže uspoređivanjem poznate vrijednosti s određenim srednjim elementom niza i, ako nije ekvivalentan, više puta ograničavajući usporedbu srednjeg elementa na manju relevantnu polovicu skupa dok se ne dobije ekvivalentnost ili se popis ne iscrpi.

Binarno pretraživanje, koje se ponekad naziva pretraživanjem u poluintervalu, mnogo je brže od osnovnog sekvencijalnog pretraživanja koje počinje na jednom kraju popisa stavki i uspoređuje svaku stavku dok se ne pronađe podudaranje ili dok pretraživanje ne dođe do kraja popis. Ako je osoba imala 100 stavki u nizu i posljednja je stavka bila ona koja se traži, sekvencijalna pretraga bi zahtijevala 100 usporedbi. Metoda bisekcije, međutim, zahtijeva samo najviše sedam usporedbi prije nego što se predmet pronađe. Očito je puno učinkovitije od sekvencijalnog pretraživanja.

Najveći nedostatak binarnog pretraživanja je taj što popis stavki mora biti razvrstan da bi ovo pretraživanje funkcioniralo. Razvrstavanje popisa zahtijeva vrijeme. Potom sortiranje korištenjem ove vrste pretraživanja moglo bi potrajati više vremena nego izvođenje druge vrste pretraživanja.

Mogućnost korištenja informacija, posebno iz vrlo velikih skupova podataka, važna je za postizanje mnogih zadataka u životu. Disciplina informatike bavi se mnogim vrstama problema, uključujući pronalaženje učinkovitih načina traženja informacija kako bi se dobili korisni rezultati. Binarno pretraživanje samo je jedan od mnogih algoritama dostupnih za pretraživanje podataka.