Vad är binär sökning i Java? Hur implementerar jag det?



Binär sökning i Java är en sökalgoritm som hittar positionen för ett målvärde i en sorterad matris. I den här artikeln kommer jag att berätta hur du implementerar den med hjälp av ett exempel.

Sök- och sorteringsalgoritmer är populära algoritmer på alla programmeringsspråk. De är grunden för att förstå grunderna för programmeringen. En sådan populär sökalgoritm är Binär sökning i . I den här artikeln berättar jag allt om dess genomförande.

Nedanstående ämnen behandlas i den här artikeln:





Låt oss börja!

Vad är binär sökning?

Binär sökning i är en sökalgoritm som hittar positionen för ett målvärde inom en sorterad array . Binär sökning jämför målvärdet med matrisens mittelement. denfungerar bara på en sorterad uppsättning element. För att använda binär sökning i en samling, måste först sorteras.



Binary Search Program in Java - Binary Search in Java - EdurekaNär används för att utföra operationer på en sorterad uppsättning, kan antalet iterationer alltid minskas på grundval av det värde som söks. Du kan se i ögonblicksbilden ovan för att hitta mittelement . Analogin med binär sökning är att använda informationen som matrisen sorteras och minska tidskomplexiteten till O (log n) .

Implementering av binär sökalgoritm

Låt oss ta en titt på pseudokoden nedan för att förstå den på ett bättre sätt.

Procedur binary_search A & larr sorterad array n & larr storlek för array x & larr värde som ska sökas Set low = 1 Set high = n while x not found if high

Förklaring:



Steg 1: Jämför först x med mittelementet.

Steg 2: Om x matchar med mittelementet måste du returnera mittindex.

Steg 3: Annars, om x är större än mittelementet, kan x bara ligga i den högra sidan halvmatris efter mittelementet. Därför återkommer du den högra halvan.

Steg 4: Annars, om (x är mindre), återkommer för vänster hälft.

Det är så du behöver söka efter elementet i den givna matrisen.

hur man använder ersätta i java

Låt oss nu se hur man implementerar en binär sökalgoritm rekursivt. Nedanstående program visar detsamma.

Rekursiv binär sökning

offentlig klass BinarySearch {// Java-implementering av rekursiv binär sökning // Returnerar index om x om den finns i arr [l..h], annars returnerar -1 int binärsökning (int a [], int l, int h, int x) {if (h> = l) {int mid = l + (h - l) / 2 // Om elementet finns i mitten själv om (a [mid] == x) returnera mitt // If element är mindre än mitten, då kan det bara finnas i vänster subarray om (a [mid]> x) returnera binärsök (arr, l, mid - 1, x) // Annars kan elementet endast finnas i höger subarray return binärt (arr, mid + 1, h, x)} // Vi når hit när elementet inte finns i array-retur -1} public static void main (String args []) {BinarySearch ob = new BinarySearch () int a [] = {20, 30, 40, 10, 50} int n = a. Längd int x = 40 int res = ob.binarySearch (a, 0, n - 1, x) om (res == -1) System.out .println ('Element ej närvarande') annat System.out.println ('Element hittat i index' + res)}}

När programmet körs ovan, kommer det att hitta elementet som finns i det aktuella indexet

Element hittat vid index 2

Så detta leder oss till slutet av den binära sökningen i Java artikel. Jag hoppas att du tyckte att det var informativt och hjälpte dig att förstå .

Kolla in av Edureka, ett pålitligt online-lärande företag med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Vi är här för att hjälpa dig med varje steg på din resa, för att bli en förutom de här Java-intervjufrågorna. Vi kommer med en läroplan som är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare. Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.

Om du stöter på några problem när du implementerar binär sökning i , vänligen nämna det i kommentarfältet nedan så återkommer vi tidigt.