English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grundlagen教程

Java Flusskontrolle

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java Ausnahmebehandlung

Java Liste (Liste)

Java Queue (Warteschlange)

Java Map Collection

Java Set-Kollektion

Java Eingabe/Ausgabe (I/O)

Java Reader/Writer

Andere Themen in Java

Java-Programm zur Implementierung des binären Suchalgorithms

Java Beispiele大全

In diesem Beispiel werden wir die Implementierung des binären Suchalgorithms in Java lernen.

Bevor Sie die Implementierung der binären Suche in Java lernen, stellen Sie sicher, dass Sie die Funktionsweise des binären Suchalgorithms verstehen.

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

import java.util.Scanner;
//Binärsuche in Java
class Main {
  int binarySearch(int array[], int element, int low, int high) {
    //Wiederholen Sie diesen Prozess, bis die Punkte der Höhe (high) und Tiefe (low) gleich sind
    while (low <= high) {
      //Erhalten Sie den Index des mid-Elements
      int mid = low + (high - low) / 2;
      //Wenn das zu suchende Element das mid-Element ist
      if (array[mid] == element)
        return mid;
      //Wenn das Element kleiner als das mid-Element ist
      //Suchen Sie nur die linke Seite von mid
      if (array[mid] < element)
        low = mid + 1;
      //Wenn das Element größer als das mid-Element ist
      //Suchen Sie nur die rechte Seite von mid
      else
        high = mid - 1;
    }
    return -1;
  }
  public static void main(String args[]) {
    //Erstellen Sie ein Objekt der Klasse Main
    Main obj = new Main();
    //Erstellen Sie ein sortiertes Array
    int[] array = { 3, 4, 5, 6, 7, 8, 9 };
    int n = array.length;
    //Eingaben vom Benutzer abrufen, zu suchendes Element
    Scanner input = new Scanner(System.in);
    System.out.println("Geben Sie das zu suchende Element ein:");
    //Zu suchendes Element
    int element = input.nextInt();
    input.close();
    //Rufen Sie den binären Suchvorgang auf
    //Übergeben Sie die Parameter: Array, Element, Index des ersten und letzten Elements
    int result = obj.binarySearch(array, element, 0, n - 1);
    if (result == -1)
      System.out.println("Nicht gefunden");
    else
      System.out.println("Das Element gefunden, im Index ") + result);
  }
}

Ausgabe1

Geben Sie das zu suchende Element ein:
6
Das Element gefunden, im Index  3

Hier haben wir bereitsJava Scanner-KlasseEingaben vom Benutzer abrufen. Basierend auf der Eingabe des Benutzers haben wir einen binären Suchvorgang verwendet, um zu überprüfen, ob das Element im Array vorhanden ist.

Wir können auch rekursiv aufrufen, um die gleiche Aufgabe auszuführen.

  int binarySearch(int array[], int element, int low, int high) {
    if (high >= low) {
      int mid = low + (high - low) / 2;
      // Prüfe, ob das Element mid der gesuchten ist
      if (array[mid] == element)
        return mid;
      //Suche die linke Hälfte von mid
      if (array[mid] > element)
        return binarySearch(array, element, low, mid - 1);
      //Suche die rechte Hälfte von mid
      return binarySearch(array, element, mid + 1, high);
    }
    return -1;
  }

Hier wird die Methode binarySearch() sich selbst aufrufen, bis das Element gefunden wird oder die if-Bedingung fehlschlägt.

Java Beispiele大全