Què és la cerca binària a Java? Com implementar-lo?



La cerca binària a Java és un algorisme de cerca que troba la posició d'un valor objectiu dins d'una matriu ordenada. En aquest article us explicaré com implementar-lo amb l'ajut d'un exemple.

Els algorismes de cerca i ordenació són algoritmes populars en qualsevol llenguatge de programació. Són la base per entendre els fonaments de la programació. Un d'aquests algorismes de cerca populars és Binary Search in . En aquest article, us explicaré tot sobre la seva implementació.

A continuació, es tracten els temes següents en aquest article:





Comencem!

Què és la cerca binària?

Cerca binària a és un algorisme de cerca que troba la posició d'un valor objectiu dins d'un ordenat matriu . Cerca binària compara el valor objectiu amb l'element central de la matriu. Aixònomés funciona en un conjunt d'elements ordenats. Per utilitzar la cerca binària en una col·lecció, el fitxer primer s’han d’ordenar.



Programa de cerca binària a Java - Cerca binària a Java - EdurekaQuan el s’utilitza per realitzar operacions en un conjunt ordenat, el nombre d’iteracions sempre es pot reduir en funció del valor que es busca. Podeu veure a la instantània anterior de trobar el fitxer element mitjà . L’analogia de la cerca binària consisteix a utilitzar la informació a la qual s’ordena la matriu i reduir la complexitat temporal O (registre n) .

Implementació de l'algorisme de cerca binària

Vegem el pseudocodi següent per entendre-ho d’una manera millor.

Procediment binary_search A & larr matriu ordenada n & larr mida de la matriu x & larr valor a cercar Establir baix = 1 Establir alt = n mentre no es troba x si és alt

Explicació:



Pas 1: En primer lloc, compareu x amb l’element central.

Pas 2: Si x coincideix amb l'element central, haureu de tornar l'índex mitjà.

Pas 3: En cas contrari, si x és més gran que l’element mitjà, aleshores x només es troba a la meitat de la matriu dreta després de l’element mitjà. Per tant, es repeteix la meitat correcta.

Pas 4: En cas contrari, si (x és més petit), es repeteix per la meitat esquerra.

Així és com heu de cercar l’element de la matriu donada.

un constructor pot ser privat

Vegem ara com implementar recursivament un algorisme de cerca binària. A continuació, el programa demostra el mateix.

Cerca binària recursiva

public class BinarySearch {// Implementació Java de Recursive Binary Search // Retorna l'índex de x si està present a arr [l..h], en cas contrari retorna -1 int binarySearch (int a [], int l, int h, int x) {if (h> = l) {int mid = l + (h - l) / 2 // Si l'element està present al centre si (a [mid] == x) torna mid // If element és més petit que mid, llavors només pot estar present en el subarray esquerre si (a [mid]> x) torna binarySearch (arr, l, mid - 1, x) // La resta, l'element només pot estar present en el subarray dret return (arr, mid + 1, h, x)} // Arribem aquí quan l'element no està present en la matriu de retorn -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 no present') else System.out.println ('Element trobat a l'índex' + res)}}

En executar el programa anterior, localitzarà l'element present a l'índex concret

Element trobat a l’índex 2

Per tant, això ens porta al final de la cerca binària a Java article. Espero que us hagi resultat informatiu i us hagi ajudat a entendre .

Consulteu el per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. Estem aquí per ajudar-vos en cada pas del vostre viatge, per convertir-vos en una pregunta a part d'aquesta entrevista java. Disposem d’un pla d’estudis dissenyat per a estudiants i professionals que vulguin desenvolupar Java. El curs està dissenyat per donar-vos un avantatge en la programació de Java i formar-vos tant per a conceptes bàsics com avançats de Java juntament amb diversos marcs Java com Hibernate i Spring.

En cas que tingueu dificultats en implementar Binary Search a Si us plau, mencioneu-ho a la secció de comentaris que hi ha a continuació i ens posarem en contacte amb vosaltres al més aviat possible.