Java-Programm zur Implementierung des binären Suchalgorithmus

In diesem Beispiel lernen wir, den binären Suchalgorithmus in Java zu implementieren.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:

  • Java während und mache … während Loop
  • Java if… else-Anweisung
  • Java-Arrays

Beispiel: Java-Programm zur Implementierung des binären Suchalgorithmus

 import java.util.Scanner; // Binary Search in Java class Main ( int binarySearch(int array(), int element, int low, int high) ( // Repeat until the pointers low and high meet each other while (low <= high) ( // get index of mid element int mid = low + (high - low) / 2; // if element to be searched is the mid element if (array(mid) == element) return mid; // if element is less than mid element // search only the left side of mid if (array(mid) < element) low = mid + 1; // if element is greater than mid element // search only the right side of mid else high = mid - 1; ) return -1; ) public static void main(String args()) ( // create an object of Main class Main obj = new Main(); // create a sorted array int() array = ( 3, 4, 5, 6, 7, 8, 9 ); int n = array.length; // get input from user for element to be searched Scanner input = new Scanner(System.in); System.out.println("Enter element to be searched:"); // element to be searched int element = input.nextInt(); input.close(); // call the binary search method // pass arguments: array, element, index of first and last element int result = obj.binarySearch(array, element, 0, n - 1); if (result == -1) System.out.println("Not found"); else System.out.println("Element found at index " + result); ) )

Ausgabe 1

 Geben Sie das zu durchsuchende Element ein: 6 Element gefunden bei Index 3

Hier haben wir die Java-Scannerklasse verwendet, um Eingaben vom Benutzer zu erhalten. Basierend auf den Eingaben des Benutzers haben wir die binäre Suche verwendet, um zu überprüfen, ob das Element im Array vorhanden ist.

Wir können den rekursiven Aufruf auch verwenden, um dieselbe Aufgabe auszuführen.

  int binarySearch(int array(), int element, int low, int high) ( if (high>= low) ( int mid = low + (high - low) / 2; // check if mid element is searched element if (array(mid) == element) return mid; // Search the left half of mid if (array(mid)> element) return binarySearch(array, element, low, mid - 1); // Search the right half of mid return binarySearch(array, element, mid + 1, high); ) return -1; )

Hier binarySearch()ruft sich die Methode selbst auf, bis das Element gefunden wurde oder die ifBedingung fehlschlägt.

Wenn Sie mehr über den binären Suchalgorithmus erfahren möchten, besuchen Sie den binären Suchalgorithmus.

Interessante Beiträge...