Heim > Java > JavaErste Schritte > Hauptteil

Java implementiert die binäre Suche

王林
Freigeben: 2019-12-30 11:50:39
nach vorne
2376 Leute haben es durchsucht

Java implementiert die binäre Suche

Was ist binäre Suche:

Biometrische Suche ist eine binäre Suche, die nach dem angegebenen Element in einer geordneten Reihenfolge sucht und dabei den Mindestindex (niedrig) und The festlegt Maximaler Index (Höhe-1) und der Zwischenwert Mitte ((niedrig+höhe-1)/2). ist größer als das angegebene Element, Let height=mid-1;

Code-Implementierung: (Kostenlose Video-Tutorial-Freigabe: Java-Video-Tutorial)

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
 
public class Main2 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
				int arr[] = { 2, 5, 6, 8, 9, 4, 7 };
				Arrays.sort(arr);
				int deix(索引) = getxiabiao(arr, 7);
				
			}
			public static int getxiabiao(int[] arr, int key) {
				int heigh = arr.length-1;
				int low = 0;
				int mid = 0;
				while (low <= heigh) {
					mid = low + (heigh - low)/2;
					if (arr[mid] == key) {
						return mid;
					} else if (arr[mid] < key) {
						low = mid + 1;
					} else if (arr[mid] > key) {
						heigh = mid - 1;
					}
				}
				return -1;
			}
		}
Nach dem Login kopieren

Es gibt zwei Möglichkeiten um den Zwischenwert festzulegen;

Algorithmus 1: mittel = (niedrig + hoch) / 2

Algorithmus 2: mittel = niedrig + (hoch – niedrig)/2

Auf den ersten Blick ist Algorithmus 1 einfach, nach der Extraktion durch Algorithmus 2 gibt es keinen Unterschied zu Algorithmus 1. Aber tatsächlich besteht der Unterschied.

Der Ansatz von Algorithmus 1 birgt im Extremfall (niedrig + hoch) das Risiko eines Überlaufs und erhält dann falsche Mittelwerte, was zu Programmfehlern führt, während Algorithmus 2 sicherstellen kann, dass der berechnete Mittelwert sein muss größer als niedrig, kleiner als hoch, es gibt kein Überlaufproblem.

Empfohlene verwandte Artikel und Tutorials: Java-Einführungs-Tutorial

Das obige ist der detaillierte Inhalt vonJava implementiert die binäre Suche. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage