Ano ang Paghahanap sa Binary sa Java? Paano ito ipapatupad?



Ang Paghahanap sa Binary sa Java ay isang algorithm ng paghahanap na nahahanap ang posisyon ng isang target na halaga sa loob ng isang pinagsunod-sunod na array. Sa artikulong ito sasabihin ko sa iyo kung paano ipatupad ito sa tulong ng isang halimbawa.

Ang mga naghahanap at Pag-uuri ng mga algorithm ay ang tanyag na mga algorithm sa anumang mga wika ng programa. Ang mga ito ang batayan upang maunawaan ang mga batayan ng programa. Ang isang tulad ng tanyag na algorithm sa paghahanap ay ang Paghahanap ng binary sa . Sa artikulong ito, sasabihin ko sa iyo ang lahat tungkol sa pagpapatupad nito.

Sa ibaba ang mga paksa ay sakop sa artikulong ito:





Magsimula na tayo!

Ano ang Paghahanap sa Binary?

Paghahanap ng binary sa ay isang paghahanap algorithm na nahahanap ang posisyon ng isang target na halaga sa loob ng isang pinagsunod-sunod array . Paghahanap ng binary ihinahambing ang target na halaga sa gitnang elemento ng array. Itogumagana lamang sa isang pinagsunod-sunod na hanay ng mga elemento. Upang magamit ang binary na paghahanap sa isang koleksyon, ang dapat munang ayusin.



Programang Paghahanap ng Binary sa Java - Paghahanap ng binary sa Java - EdurekaKapag ang ay ginagamit upang maisagawa ang mga pagpapatakbo sa isang pinagsunod-sunod na hanay, ang bilang ng mga pag-ulit ay maaaring palaging mabawasan sa batayan ng halagang hinahanap. Maaari mong makita sa itaas na snapshot ng paghahanap ng elemento ng kalagitnaan . Ang pagkakatulad ng paghahanap sa binary ay upang magamit ang impormasyon na ang array ay pinagsunod-sunod at bawasan ang pagiging kumplikado ng oras sa O (mag-log n) .

Pagpapatupad ng Algorithm ng Paghahanap ng Binary

Tingnan natin ang nasa ibaba ng pseudo code upang maunawaan ito sa isang mas mahusay na paraan.

Pamamaraan binary_search A & larr pinagsunod-sunod ang array n at larr laki ng array x & larr halaga na hahanapin Itakda mababa = 1 Itakda ang mataas = n habang x hindi natagpuan kung mataas

Paliwanag:



Hakbang 1: Una, ihambing ang x sa gitnang elemento.

Hakbang 2: Kung tumutugma ang x sa gitnang elemento, kailangan mong ibalik ang kalagitnaan ng index.

Hakbang 3: Iba pa, Kung ang x ay mas malaki kaysa sa mid element, kung gayon ang x ay maaari lamang magsinungaling sa kanang bahagi ng kalahating array pagkatapos ng mid element. Samakatuwid ay naulit mo ang tamang kalahati.

Hakbang 4: Iba pa, kung (x ay mas maliit) pagkatapos ay umulit para sa kaliwang kalahati.

Ganoon ang kailangan mong maghanap para sa elemento sa ibinigay na array.

sql server tutorials para sa mga nagsisimula

Tingnan natin ngayon kung paano ipatupad ang isang binary search algorithm nang paulit-ulit. Sa ibaba ang programa ay nagpapakita ng pareho.

Recursive na Paghahanap ng Binary

pampublikong klase BinarySearch {// Java pagpapatupad ng recursive Binary Search // Returns index ng x kung mayroon ito sa arr [l..h], kung hindi man bumalik -1 int binarySearch (int a [], int l, int h, int x) {if (h> = l) {int mid = l + (h - l) / 2 // Kung ang elemento ay naroroon sa gitna mismo kung (a [mid] == x) bumalik sa kalagitnaan ng // Kung elemento ay mas maliit kaysa sa kalagitnaan, pagkatapos ay maaari lamang itong naroroon sa kaliwang subarray kung (isang [kalagitnaan>> x) ibalik ang binarySearch (arr, l, kalagitnaan ng 1, x) // Kung hindi, ang elemento ay maaari lamang magkaroon ng tamang subarray return binarySearch (arr, mid + 1, h, x)} // Nakakarating kami dito kapag wala ang elemento sa array return -1} public static void main (String args []) {BinarySearch ob = new BinarySearch () int a [] = {20, 30, 40, 10, 50} int n = a.length int x = 40 int res = ob.binarySearch (a, 0, n - 1, x) kung (res == -1) System.out .println ('Element not present') iba pa System.out.println ('Element na nahanap sa index' + res)}}

Sa pagpapatupad ng nasa itaas na programa, mahahanap nito ang elemento na naroroon sa partikular na index

Natagpuan ang elemento sa index 2

Kaya't dinadala tayo nito sa pagtatapos ng Paghahanap ng Binary sa Java artikulo Inaasahan kong nahanap mo ito na nagbibigay-kaalaman at nakatulong sa iyo sa pag-unawa .

Suriin ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Narito kami upang matulungan ka sa bawat hakbang sa iyong paglalakbay, para sa pagiging isang bukod sa mga katanungang ito sa panayam sa java. Nakakaisip kami ng isang kurikulum na idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer. Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa pag-program ng Java at sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

Kung sakaling humarap ka sa anumang kahirapan habang ipinatutupad ang Paghahanap ng binary sa , mangyaring banggitin ito sa seksyon ng mga komento sa ibaba at babalik kami sa iyo sa pinakamaagang.