Heim >Java >javaLernprogramm >Beispiel für eine Java-Suche: Binäre Methode zum Suchen von Elementen (Code)
Der Inhalt dieses Artikels befasst sich mit Java-Suchbeispielen: Die Methode (Code) zum Finden von Elementen mithilfe der Binärmethode. Ich hoffe, dass sie für Freunde hilfreich ist.
Idee des binären Suchprinzips:
Suchdaten und Geordnetes Array Vergleichen Sie das mittlere Element, um festzustellen, ob es sich links oder rechts vom mittleren Element befindet. Passen Sie den minimalen Suchindexwert an. Wenn es sich links befindet, passen Sie den maximalen Wert an Indexwert suchen und den nächsten Zyklus eingeben; Wenn sie gleich sind, ist die aktuelle Position die Position der Suchdaten und die Schleife stoppt:
Weil es auf der Größenbeziehung zwischen Array-Elementen basiert. Um Elemente zu finden, muss das Array ein geordnetes
Array sein und die Codes für aufsteigende Reihenfolge (von klein nach groß) und absteigende Reihenfolge ( von groß nach klein) wird unterschiedlich sein. In diesem Artikel wird als Beispiel die aufsteigende Reihenfolge verwendet.public class Dichotomy {
public static void main(String[] args) {
int [] array = {1,2,3,4,5};
int target = 2;//即array[1]
int low = 0;
int high = array.length - 1;
while (low <= high) {
int middle = (low + high) / 2;
if (target > array[middle]) {
low = middle + 1;
} else if (target < array[middle]) {
high = middle - 1;
} else {
System.out.println(middle);
break;
}
}
}
}
Das Folgende ist das laufende Ergebnis:
Das Folgende ist der spezifische Code:
public class Dichotomy { public static void main(String[] args) { int [] array = {3,2,5,1,4}; //排序 int temp = 0; for (int time = 1; time < array.length; time++) { for (int i = 0; i < array.length-time; i++) { if (array[i+1]<array[i]) { temp = array[i+1]; array[i+1] = array[i]; array[i] = temp; } } } for (int i = 0; i < array.length; i++) { System.out.println(array[i]); } //二分法查找 int target = 2;//即array[1] int low = 0; int high = array.length - 1; while (low <= high) { int middle = (low + high) / 2; if (target > array[middle]) { low = middle + 1; } else if (target < array[middle]) { high = middle - 1; } else { System.out.println(middle); break; } } } }
Das Folgende ist das laufende Ergebnis:
Verwandte Empfehlungen:
Beispielcode für die Implementierung eines binären Suchbaums in Java
Das obige ist der detaillierte Inhalt vonBeispiel für eine Java-Suche: Binäre Methode zum Suchen von Elementen (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!