Co to jest wyszukiwanie binarne w Javie? Jak to wdrożyć?



Wyszukiwanie binarne w Javie to algorytm wyszukiwania, który znajduje pozycję wartości docelowej w posortowanej tablicy. W tym artykule powiem ci, jak go wdrożyć na przykładzie.

Algorytmy wyszukiwania i sortowania to popularne algorytmy w dowolnych językach programowania. Są podstawą do zrozumienia podstaw programowania. Jednym z takich popularnych algorytmów wyszukiwania jest wyszukiwanie binarne w formacie . W tym artykule opowiem Ci wszystko o jego realizacji.

Poniższe tematy są omówione w tym artykule:





Zacznijmy!

Co to jest wyszukiwanie binarne?

Wyszukiwanie binarne w jest algorytm wyszukiwania, który znajduje pozycję wartości docelowej w posortowanym szyk . Wyszukiwanie binarne porównuje wartość docelową ze środkowym elementem tablicy. Todziała tylko na posortowanym zestawie elementów. Aby użyć wyszukiwania binarnego w kolekcji, rozszerzenie należy najpierw posortować.



Binary Search Program in Java - Binary Search in Java - EdurekaKiedy służy do wykonywania operacji na sortowanym zbiorze, liczbę iteracji można zawsze zmniejszyć na podstawie szukanej wartości. Możesz zobaczyć na powyższej migawce znalezienia pliku element środkowy . Analogią wyszukiwania binarnego jest użycie informacji, do których tablica jest posortowana, i zmniejszenie złożoności czasowej O (log n) .

Implementacja algorytmu wyszukiwania binarnego

Przyjrzyjmy się poniższemu pseudokodowi, aby lepiej go zrozumieć.

Procedura binary_search A & larr posortowana tablica n & larr rozmiar tablicy wartość x & larr do przeszukania Ustaw niski = 1 Ustaw wysoki = n, podczas gdy x nie zostanie znaleziony, jeśli jest wysoki

Wyjaśnienie:



Krok 1: Najpierw porównaj x ze środkowym elementem.

Krok 2: Jeśli x pasuje do środkowego elementu, musisz zwrócić środkowy indeks.

Krok 3: W przeciwnym razie, jeśli x jest większe niż element środkowy, to x może leżeć tylko w pół tablicy po prawej stronie za elementem środkowym. Dlatego powtarzasz prawą połowę.

Krok 4: W przeciwnym razie, jeśli (x jest mniejsze), to powtórz dla lewej połowy.

Oto jak musisz szukać elementu w danej tablicy.

jak zainstalować php

Zobaczmy teraz, jak zaimplementować rekurencyjny algorytm wyszukiwania binarnego. Poniższy program demonstruje to samo.

Rekurencyjne wyszukiwanie binarne

public class BinarySearch {// implementacja rekurencyjnego wyszukiwania binarnego w języku Java // Zwraca indeks x, jeśli występuje w arg [l..h], w przeciwnym razie zwraca -1 int binarySearch (int a [], int l, int h, int x) {if (h> = l) {int mid = l + (h - l) / 2 // Jeśli element jest obecny w samym środku if (a [mid] == x) return mid // If element jest mniejsza niż mid, to może być obecna tylko w lewej podtablicy, jeśli (a [mid]> x) return binarySearch (arr, l, mid - 1, x) // W przeciwnym razie element może być obecny tylko w prawej podtablicy return binarySearch (arr, mid + 1, h, x)} // Dochodzimy tutaj, gdy element nie jest obecny w tablicy 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 ('Brak elementu') else System.out.println ('Element znaleziony w indeksie' + res)}}

Wykonując powyższy program, zlokalizuje element obecny w określonym indeksie

Element znaleziony pod indeksem 2

To prowadzi nas do końca wyszukiwania binarnego w Jawa artykuł. Mam nadzieję, że znalazłeś to pouczające i pomogło ci w zrozumieniu .

Sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Jesteśmy tutaj, aby pomóc Ci na każdym etapie Twojej podróży, aby stać się oprócz tego pytania do wywiadu Java. Opracowujemy program nauczania przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i szkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.

Jeśli napotkasz jakiekolwiek trudności podczas wdrażania wyszukiwania binarnego w , wspomnij o tym w sekcji komentarzy poniżej a my skontaktujemy się z Tobą najwcześniej.