Što je binarno pretraživanje na Javi? Kako to provesti?



Binarno pretraživanje u Javi algoritam je pretraživanja koji pronalazi položaj ciljne vrijednosti unutar razvrstanog niza. U ovom članku ću vam reći kako to primijeniti uz pomoć primjera.

Algoritmi pretraživanja i sortiranja su popularni algoritmi u bilo kojim programskim jezicima. Oni su osnova za razumijevanje osnova programiranja. Jedan od takvih popularnih algoritama pretraživanja je Binarno pretraživanje u . U ovom ću vam članku reći sve o njegovoj provedbi.

U ovom su članku obrađene sljedeće teme:





Započnimo!

Što je binarno pretraživanje?

Binarno pretraživanje u je algoritam pretraživanja koji pronalazi položaj ciljne vrijednosti unutar sortiranog niz . Binarna pretraga uspoređuje ciljnu vrijednost sa srednjim elementom niza. Toradi samo na razvrstanom skupu elemenata. Da biste koristili binarno pretraživanje na zbirci, prvo se mora razvrstati.



Program binarnog pretraživanja na Javi - Binarno pretraživanje na Javi - EdurekaKada koristi se za izvođenje operacija na razvrstanom skupu, broj iteracija uvijek se može smanjiti na temelju vrijednosti koja se pretražuje. Možete vidjeti u gornjoj snimci pronalaska srednji element . Analogija binarnog pretraživanja je korištenje podataka po kojima je niz sortiran i smanjenje vremenske složenosti na O (zapisnik n) .

Implementacija algoritma binarnog pretraživanja

Pogledajmo donji pseudo kod da bismo ga bolje razumjeli.

Postupak binary_search A & larr sortirani niz n & larr veličina polja x & larr Vrijednost za pretragu Set low = 1 Set high = n, dok x nije pronađen ako je visok

Obrazloženje:



Korak 1: Prvo usporedite x sa srednjim elementom.

Korak 2: Ako se x podudara sa srednjim elementom, tada morate vratiti srednji indeks.

Korak 3: Inače, Ako je x veće od srednjeg elementa, tada x može ležati samo u polovici polja s desne strane nakon srednjeg elementa. Stoga ponavljate desnu polovicu.

Korak 4: Inače, ako je (x manji), onda se ponavlja za lijevu polovicu.

Tako trebate tražiti element u danom nizu.

java split string više graničnika

Pogledajmo sada kako rekurzivno implementirati binarni algoritam pretraživanja. Ispod pokazuje to isto.

Rekurzivno binarno pretraživanje

javna klasa BinarySearch {// Java implementacija rekurzivnog binarnog pretraživanja // Vraća indeks x ako je prisutan u arr [l..h], inače vraća -1 int binarySearch (int a [], int l, int h, int x) {if (h> = l) {int mid = l + (h - l) / 2 // Ako je element prisutan u samoj sredini if ​​(a [mid] == x) return mid // If element je manji od sredine, tada može biti prisutan u lijevom podnizu samo ako (a [mid]> x) return binarySearch (arr, l, mid - 1, x) // U suprotnom element može biti prisutan samo u desnom podnizu return binarySearch (arr, mid + 1, h, x)} // Dolazimo ovdje kad element nije prisutan u nizu 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) if (res == -1) System.out .println ('Element nije prisutan') else System.out.println ('Element je pronađen u indeksu' + res)}}

Izvršavanjem gornjeg programa, locirat će element prisutan u određenom indeksu

Element pronađen u indeksu 2

Dakle, ovo nas dovodi do kraja Binarnog pretraživanja u Java članak. Nadam se da vam je bio informativan i da ste vam pomogli u razumijevanju .

Pogledajte Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Ovdje smo da vam pomognemo u svakom koraku na putovanju, jer postajete pored ovog pitanja o java intervjuu. Došli smo do nastavnog plana i programa koji je namijenjen studentima i profesionalcima koji žele biti programer Java. Tečaj je dizajniran da vam pruži početnu prednost u Java programiranju i osposobi vas za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.

U slučaju da imate bilo kakvih poteškoća tijekom implementacije Binarnog pretraživanja u , molimo vas da ga spominjete u odjeljku za komentare u nastavku i javit ćemo vam se najranije.