Binarno pretraživanje

 

Binarno pretraživanje (binary search) je dihotomni (dvočlani), "podijeli pa savladaj", pretraživački algoritam.

 Suporter

Binarno pretraživanje se radi polovljenjem niza. U prvom koraku ispitujemo srednji član niza. Ako srednji član nije onaj koji se traži onda se traži u prvoj ili drugoj polovini niza u zavisnosti od toga da li je traženi član veći ili manji.

Postupak koji smo primjenili na cijeli niz tada primjenjujemo na polovinu niza u kojoj se traženi element nalazi(ako postoji). Na ovaj način niz se u svakom koraku svodi na polovinu članova iz prethodnog koraka.

Binarno pretraživanje moguće je kod sortiranih nizova. Mnogo je brže od serijskog pretraživanja.

U računarskoj nauci, binarno pretraživanje je algoritam za lociranje pozicije neke stavke, u sortiranom nizu.

U svakodnevnom životu se sa ovom vrstom pretraživanja susrećeme u igri pogađanja brojeva: osoba A zamišlja neki broj, a osoba B "pogađa", tako što kaže neki broj, i dobija odgovore: "više", "manje" ili "tačno". Osoba koja nastoji da otkrije broj se u svojim pokušajima rukovodi prema dobivenim odgovorima.

Ideja je jednostavna, a uslov da bi se primijenio algoritam za binarno pretraživanje, je da lista treba biti sortirana.

 

Analiziraj objašnjenje i dijagram toka koji predstavlja i objašnjava binarnu pretragu.


Binarna pretraga

Binarno pretraživanje možemo opisati na slijedeći način:

  • pronalazimo centralni element
  • odbacimo polovicu liste
  • pretražujemo drugu polovicu
  • nastavljamo dok se traženi element ne pronađe ili dok ne ostane niti jedan element za pretraživanje.

 

Komentar: mada elegantan ovaj dijagram nije najpogodniji za učenje, jer koristi višestruki upit (kod Compare A(p)...)

 

 

 

copyright M2M
BL-2011