Kaj je binarno iskanje v Javi? Kako to izvesti?



Binarno iskanje v Javi je iskalni algoritem, ki najde položaj ciljne vrednosti znotraj razvrščenega polja. V tem članku vam bom povedal, kako ga izvajati s pomočjo primera.

Algoritmi iskanja in razvrščanja so priljubljeni algoritmi v katerem koli programskem jeziku. So osnova za razumevanje osnov programiranja. Eden od takih priljubljenih algoritmov iskanja je binarno iskanje v . V tem članku vam bom povedal vse o njegovi izvedbi.

V tem članku so zajete spodnje teme:





Začnimo!

Kaj je binarno iskanje?

Binarno iskanje v je algoritem iskanja, ki najde položaj ciljne vrednosti znotraj razvrščenega matriko . Binarno iskanje primerja ciljno vrednost s srednjim elementom polja. Todeluje samo na razvrščenem naboru elementov. Za uporabo binarnega iskanja v zbirki, najprej razvrstiti.



Program binarnega iskanja v Javi - Binarno iskanje v Javi - EdurekaKo se uporablja za izvajanje operacij na razvrščenem nizu, je število ponovitev vedno mogoče zmanjšati na podlagi vrednosti, ki jo iščemo. V zgornjem posnetku si lahko ogledate iskanje srednji element . Analogija binarnega iskanja je uporaba informacij, po katerih je matrika razvrščena, in zmanjšanje časovne zapletenosti na O (log n) .

Izvajanje algoritma binarnega iskanja

Oglejmo si spodnjo psevdo kodo, da jo bomo bolje razumeli.

Postopek binary_search A & larr razvrščeno polje n & larr velikost polja x & larr Vrednost, ki jo je treba iskati Nastavi nizko = 1 Nastavi visoko = n, medtem ko x ni mogoče najti, če je visoka

Pojasnilo:



Korak 1: Najprej primerjajte x s srednjim elementom.

2. korak: Če se x ujema s srednjim elementom, morate vrniti srednji indeks.

3. korak: V nasprotnem primeru, če je x večji od srednjega elementa, potem lahko x leži le v desni polovici polja za sredinskim elementom. Zato ponovite desno polovico.

4. korak: V nasprotnem primeru, če je (x manjši), se ponovi za levo polovico.

Tako morate poiskati element v dani matriki.

java razlika med metom in meti

Poglejmo, kako rekurzivno implementirati binarni algoritem iskanja. Spodaj program dokazuje enako.

Rekurzivno binarno iskanje

javni razred BinarySearch {// Java izvedba rekurzivnega binarnega iskanja // Vrne indeks x, če je prisoten v arr [l..h], sicer vrne -1 int binarySearch (int a [], int l, int h, int x) {if (h> = l) {int mid = l + (h - l) / 2 // Če je element prisoten na samem sredini, če (a [mid] == x) return mid // If element je manjši od sredine, potem je lahko prisoten v levi podmariji le, če (a [mid]> x) return binarySearch (arr, l, mid - 1, x) // V nasprotnem primeru je element lahko prisoten samo v desni podmariji return binarySearch (arr, mid + 1, h, x)} // Tu dosežemo, ko element ni prisoten v vrnitvi polja -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) if (res == -1) System.out .println ('Element ni prisoten') else System.out.println ('Element najden v indeksu' + res)}}

Po izvedbi zgornjega programa bo poiskal element, ki je prisoten v določenem indeksu

Element najden v indeksu 2

Tako smo prišli do konca binarnega iskanja v Java Članek. Upam, da se vam je zdel informativen in vam je pomagal pri razumevanju .

Oglejte si Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, razširjenih po vsem svetu. Tu smo, da vam pomagamo pri vsakem koraku na poti, da postanete poleg tega vprašanja za java intervju. Pripravili smo učni načrt, ki je zasnovan za študente in strokovnjake, ki želijo biti razvijalec Java. Tečaj je zasnovan tako, da vam omogoči uvod v programiranje Java in vas usposobi za osnovne in napredne koncepte Java, skupaj z različnimi Java okviri, kot so Hibernate & Spring

V primeru, da imate med izvajanjem binarnega iskanja v , prosimo, omenite ga v spodnjem oddelku za komentarje in prej se vam bomo oglasili.