Kas yra dvejetainė paieška?

Tarkime, žmogus turi labai didelį daiktų asortimentą ir kažkaip tvarkingai juos išdėlioja ilga eile. Šis asmuo gali greitai išsiaiškinti, kurioje eilutėje yra tam tikras objektas, naudodamas dvejetainę paiešką. Ši paieška atliekama pažymint vidurinį eilutės elementą ir, jei vidurinis objektas nėra ieškomas elementas, tada žiūrima tik į vieną iš eilutės pusių, kur elementas galėtų būti. Žmogus žinotų, į kurią pusę toliau žiūrėti, nes daiktai išdėstyti eilės tvarka. Šie du žingsniai kartojami vėl ir vėl, vis mažesnėse ir mažesnėse pusėse, kol daiktas randamas arba nebėra kur ieškoti.

Informatikos srityje dvejetainė paieška yra žingsnis po žingsnio procedūra, kurios metu nuosekliai surūšiuotų duomenų rinkinyje aptinkama elemento vieta arba indeksas. Tai pasiekiama lygindama žinomą reikšmę su nurodytu viduriniu masyvo elementu ir, jei ji nėra lygiavertė, pakartotinai apribodama vidurinio elemento palyginimą su mažesne atitinkama aibės puse, kol bus gautas lygiavertiškumas arba sąrašas bus išnaudotas.

Dvejetainė paieška, kartais vadinama pusinio intervalo paieška, yra daug greitesnė nei paprasta nuosekli paieška, kuri prasideda viename elementų sąrašo gale ir lygina kiekvieną elementą, kol randama atitiktis arba kol paieška pasiekia pabaigos sąrašas. Jei asmuo turėjo 100 elementų iš eilės ir buvo ieškomas paskutinis daiktas, nuosekliai paieškai prireiktų 100 palyginimų. Tačiau taikant padalijimo metodą reikia atlikti ne daugiau kaip septynis palyginimus prieš randant elementą. Akivaizdu, kad tai daug efektyvesnė nei nuosekli paieška.

Didžiausias dvejetainės paieškos trūkumas yra tas, kad elementų sąrašas turi būti surūšiuotas, kad ši paieška veiktų. Sąrašo rūšiavimas užtrunka. Rūšiavimas, tada naudojant šio tipo paiešką, gali užtrukti daugiau laiko, nei atliekant kito tipo paiešką.

Gebėjimas naudotis informacija, ypač iš labai didelių duomenų rinkinių, yra svarbus norint atlikti daugelį gyvenimo užduočių. Informatikos disciplina sprendžia daugybę problemų, įskaitant veiksmingų informacijos paieškos būdų, kad būtų gauti naudingi rezultatai. Dvejetainė paieška yra tik vienas iš daugelio duomenų paieškos algoritmų.