[JAVA] Bisektionssuchmethode

Ich hatte die Gelegenheit, eine 2-minütige Suche zu schreiben, also werde ich sie als Memo schreiben.

Was ist eine 2-minütige Suche? Der Algorithmus, der bei der Suche nach Daten verwendet wird. Sie können die Suche fortsetzen, während Sie den Bereich der sortierten Daten eingrenzen. Eine Methode zur Suche mit hoher Geschwindigkeit.

Die 2-minütige Suche ist nur ein Algorithmus, der sucht und dabei den Bereich des gesamten Arrays um die Hälfte einschränkt. Schnell.

Sample.java



int algorithm(int[] data, int target) {
    int retrieve = -1;
    int left = 0;
    int right = data.length - 1;
   
    while(left < right){
        int mid = (left + right)/ 2;
        if(data[mid] == target){
            return mid + 1;
        }else if(target < data[mid]){
            return right = mid;
        }else {
            return left = mid + 1;
        }
    }
    return retrieve;
}

Zusammenfassung Wenn es bereits sortiert ist, ist es besser, 2 Minuten zu suchen.

Recommended Posts

Dichotomisierte Suchmethode für die binäre Suche
Bisektionssuchmethode
Suchmethode
Beliebige Suchmethode in einem Array mit binärer Suche
Java-Methode
to_i Methode
Java (Methode)
Methode getRequestDispatcher ()
Eine Geschichte über das Schreiben einer Dichotomiemethode in einer internen Lernsitzung
Kartenmethode
Methode einschließen
Abstrakte Methode
Methode initialisieren
Listenmethode
setzt Methode
Lineare Suche
Java-Methode
Klassenmethode
Save! -Methode
getParameter-Methode
[Java] -Methode
[Rails] Zusammenfassung der Methoden zur Konvertierung / Überprüfung / Suche
private Methode
Schienenmethode
Bifurcated Tree Memorandum für Anfänger (Teil 5 Bifurcated Search Tree)
[Java] -Methode
Einführung in Algorithmen mit Java-Suche (Vollsuche, Halbierungssuche)
Implementieren Sie den Algorithmus in Ruby: Tag 3-Dichotomie-
Memorandum über gegabelte Bäume für Anfänger (Teil 2 Suche nach gegabelten Bäumen)