suchen
HeimComputer-TutorialsComputerwissenSo implementieren Sie die Java-Binärsuche mithilfe eines rekursiven Algorithmus

So implementieren Sie den rekursiven Algorithmus der binären Suche in Java

Binäre rekursive Suche in öffentlichen Klassen {

public static void main(String[] args) ist der Einstiegspunkt des Java-Programms und die Startposition der Programmausführung. Mit dieser Methode können die Hauptlogik und Funktionalität des Programms geschrieben werden. Diese Methode muss in einem bestimmten Format definiert werden, bevor sie von der Java Virtual Machine aufgerufen und ausgeführt werden kann. In der Parameterliste der Hauptmethode ist args ein String-Array, das zum Empfang von Befehlszeilenparametern verwendet werden kann. Durch das Schreiben von Code in der Hauptmethode können wir verschiedene Funktionen implementieren, z. B. Ausdruck, Berechnung, Schleife, bedingte Beurteilung usw. {

//Definieren Sie das Array. Das binäre Sucharray muss ein geordnetes Array sein!

int[] arr = { 1, 3, 5, 7, 9, 11, 13, 15, 17 } ist die Deklarations- und Initialisierungsanweisung eines ganzzahligen Arrays, das 9 Elemente enthält. Der Wert jedes Elements ist 1, 3, 5, 7, 9, 11, 13, 15, 17. Auf diese Weise erstellen wir ein Integer-Array mit dem Namen arr und weisen ihm einen Anfangswert zu. In nachfolgenden Programmen können wir dieses Array verwenden, um verschiedene Vorgänge wie Suchen, Sortieren und Zählen auszuführen

//Übernehmen Sie den Rückgabewert nach der Suche: Indexwert, wenn nicht, ist er -1;

//Testelement finden: 9

int a = BinarySearch(arr, 9, 0, arr.length - 1);

System.out.println("Die Indexposition der gesuchten Nummer ist: " + a);

}

//Die Parameterliste ist: zu durchsuchendes Array, zu suchende Nummer, Kopfindex, Endindex!

public static int Binary(int[] arr, int key, int start, int end) // Rekursion

{

//Erstellen Sie jedes Mal einen Zwischenindexwert!

int mid = (Stern + Ende) / 2;

Wenn die zu findende Zahl kleiner als der Startindex oder größer als der Endindex ist oder der Startindex größer als der Endindex ist, bedeutet dies, dass die Zahl nicht existiert und -1 zurückgegeben wird.

if (Taste arr[end] || start > end) {

return -1;

}

//Wenn der Mittelwert kleiner als die gesuchte Zahl ist, definieren Sie den Header-Index neu und verschieben Sie ihn an die mittlere +1-Position, sodass die Hälfte der Zahlen herausgefiltert werden kann!

if (arr[mid]

//Rekursion starten!

return Binary(arr, key, mid + 1, end); // Binäre Suche in der zweiten Hälfte des Arrays fortsetzen

//Andernfalls, wenn der mittlere Wert größer als die gesuchte Zahl ist, verschieben Sie den Endindex zurück auf die mittlere Position von -1, damit die Hälfte der Zahlen herausgefiltert werden kann!

} else if (arr[mid] > key) {

//Rekursion starten!

binär zurückgeben(arr, key, start, mid - 1);

} sonst {

//Wenn nicht, wird es gefunden, zurück zum Index!

Rückkehr Mitte;

}

}

}

So implementieren Sie die Java-Binärsuche mithilfe eines rekursiven Algorithmus

Die JAVA-Sprache für Expertenprogrammierung verwendet einen rekursiven Algorithmus und 1 2 3 4 100 oder 11 13 15

Erste Frage:

öffentliche Klasse CalSum {

public static void main(String[] args) ist der Einstiegspunkt des Java-Programms und die Startposition der Programmausführung. Mit dieser Methode können die Hauptlogik und Funktionalität des Programms geschrieben werden. Diese Methode muss in einem bestimmten Format definiert werden, bevor sie von der Java Virtual Machine aufgerufen und ausgeführt werden kann. In der Parameterliste der Hauptmethode ist args ein String-Array, das zum Empfang von Befehlszeilenparametern verwendet werden kann. Durch das Schreiben von Code in der Hauptmethode können wir verschiedene Funktionen implementieren, z. B. Ausdruck, Berechnung, Schleife, bedingte Beurteilung usw.

{

CalSum calSum = new CalSum();

int result = calSum.calculate(100); // Rufen Sie die Methode „calculate“ des calSum-Objekts auf, übergeben Sie den Parameter 100 und weisen Sie das Ergebnis der Ergebnisvariablen zu.

System.out.println("Die Summe von 1+2+3+...+100 ist gleich" + Ergebnis);

}

öffentliche int-Berechnung (int-Zahl)

{

int Ergebnis = 0;

if(number == 1)

{

Ergebnis = 1;

}

sonst

{

result = Zahl + berechne(Zahl - 1); Das Ergebnis besteht darin, die aktuelle Zahl und den Rückgabewert von Zahl-1 zu addieren. Dieser Ausdruck kann rekursiv berechnet werden. Bei jedem rekursiven Aufruf wird der Wert von Zahl um 1 dekrementiert, bis die Rekursion stoppt, wenn Zahl gleich 1 ist. Der Rückgabewert des rekursiven Aufrufs wird kontinuierlich im Endergebnis akkumuliert. Auf diese Weise können wir die Summe einer Folge erhalten.

}

Rückgabeergebnis;

}

}

Was sind die Algorithmen der Rekursion und Iteration in Java? Iteration ist eine normale Schleife.

Beispiel: Addiere von 1 bis 10

int sum=0

for(int i=0;i sum=sum+i;

}

Rekursion bedeutet, dass sich eine Funktion direkt oder indirekt selbst aufruft.

Zum Beispiel: Es waren einmal ein großer Mönch und ein kleiner Mönch in einem Tempel. Der große Mönch bat den kleinen Mönch, Geschichten zu erzählen In einem Tempel bat der kleine Mönch den großen Mönch, Geschichten zu erzählen. Der große Mönch erzählte weiter, dass es früher einen großen und einen kleinen Mönch in einem Tempel gab und sie jeden Tag gemeinsam Buddhismus praktizierten und studierten.

Eigenschaften der Rekursion:

Es müssen drei Bedingungen vorliegen:

1. Rufen Sie sich indirekt oder direkt an.

2. Stellen Sie beim Spielen sicher, dass Sie Bedingungen für das Verlassen festlegen. Der große Mönch wird beispielsweise aufhören, der Geschichte zuzuhören, wenn sein Mund trocken ist. Wenn keine Beendigungsbedingungen festgelegt sind, kann das Spiel in eine Endlosschleife geraten.

3. Es muss einen logischen Körper geben (was Sie tun möchten).

public int sum(int x){

if(x

return x;

}

return x+sum(x-1);

}

int s=10;

int total=sum(s);

In diesem Beispiel ruft sich die Summenfunktion immer selbst auf und gibt x+sum(x-1); zurück.

Summe hat Exit-Bedingung, x

Das Endergebnis ist 10+9+8+7+... 1

In vielen Fällen können sowohl Iteration als auch Rekursion dieselbe Funktion erreichen, es gibt jedoch einige Funktionen, die durch Iteration nicht ausgeführt werden können. Darüber hinaus ist rekursiver Code präziser und eine kompetente Verwendung der Rekursion kann die Codequalität verbessern.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Java-Binärsuche mithilfe eines rekursiven Algorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:Excel办公网. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Unterschied zwischen RAID -Erholung und FestplattenwiederherstellungUnterschied zwischen RAID -Erholung und FestplattenwiederherstellungApr 17, 2025 am 12:50 AM

Die Datenwiederherstellung ist immer ein erhitztes Thema. Um Daten von Ihrem Gerät erfolgreich wiederherzustellen, sollten Sie wissen, wie Daten gespeichert sind. Sie können den Unterschied zwischen RAID -Wiederherstellung und Festplattenwiederherstellung aus diesem PHP.CN -Beitrag lernen.

Microsoft Word Löschen von Text Windows 10/11? Repariere es jetzt!Microsoft Word Löschen von Text Windows 10/11? Repariere es jetzt!Apr 17, 2025 am 12:48 AM

Bekommen Sie beim Tippen auf Word -Text verschwinden? Einige Briefe oder sogar Absätze können aus Ihrem Dokument verschwinden. Was ist daran los? In diesem Beitrag von der PHP.CN -Website werden wir uns das Wort automatisch ansehen, das das Problem mit automatisch löschen

Wie kann ich den LC-208-Fehlercode auf Overwatch 2 beheben? Hier ist ein Leitfaden! - MinitoolWie kann ich den LC-208-Fehlercode auf Overwatch 2 beheben? Hier ist ein Leitfaden! - MinitoolApr 17, 2025 am 12:47 AM

Wenn Sie versuchen, sich bei Overwatch 2 anzumelden, erhalten Sie möglicherweise die Fehlermeldung von LC-208 und verhindert, dass Ihr Spiel mit den Spielen-Servern eine Verbindung herstellt. In diesem Beitrag von Php.cn wird der LC-208-Overwatch-Fehler behoben.

Google Drive verschwand aus dem Datei Explorer - Easy ApproxesGoogle Drive verschwand aus dem Datei Explorer - Easy ApproxesApr 17, 2025 am 12:46 AM

Im Allgemeinen können Sie von Datei Explorer schnell auf Google Drive -Dateien zugreifen und bearbeiten. Manchmal begegnen Sie jedoch auf das Problem „Google Drive verschwunden aus dem Datei -Explorer“. Hier in diesem Beitrag auf Php.cn sagt Ihnen, wie Sie Google Drive zum Anzeigen bringen können

Wie repariere ich Windows 7 Welcome Screen Langsam? Tipps sind da!Wie repariere ich Windows 7 Welcome Screen Langsam? Tipps sind da!Apr 17, 2025 am 12:45 AM

Warum ist mein Computer so lange auf dem Begrüßungsbildschirm? Wie repariere ich Windows 7 Welcome Screen Langsam? Wenn Sie immer noch Windows 7 auf Ihrem PC ausführen und dieses Problem erfüllen, sind Sie am richtigen Ort und mehrere Lösungen werden hier von Php.cn angegeben.

Wie öffne ich den Anmeldeinformationsmanager in Windows 11? 6 Wege für Sie! - MinitoolWie öffne ich den Anmeldeinformationsmanager in Windows 11? 6 Wege für Sie! - MinitoolApr 17, 2025 am 12:44 AM

Möchten Sie das integrierte Tool für das integrierte Kennwortverwaltung verwenden-Anmeldeinformationsmanager, um Ihre Anmeldeinformationen für Web und Apps zu verwalten? Wie können Sie den Anmeldeinformationsmanager in Windows 11 öffnen? In diesem Beitrag sammelte Php.cn mehrere Möglichkeiten, um auf dieses Dienstprogramm zuzugreifen und zu lassen.

So aktivieren/deaktivieren Sie periodisches Scannen auf Microsoft Defender - MinitoolSo aktivieren/deaktivieren Sie periodisches Scannen auf Microsoft Defender - MinitoolApr 17, 2025 am 12:43 AM

Der MicroSft Defender Antivirus verfügt über eine Funktion, die als periodisches Scanning bezeichnet wird. Dies kann aktiviert werden, wenn Sie ein anderes Antivirenprodukt auf einem Windows 11/10 -Gerät installiert haben. In diesem Beitrag von php.cn lehrt Sie, wie Sie das periodische Scannen auf WI aktivieren/deaktivieren können

Smart -Techniken für Excel -Hyperlinks funktionieren nicht nach dem SiegSmart -Techniken für Excel -Hyperlinks funktionieren nicht nach dem SiegApr 17, 2025 am 12:42 AM

Haben Sie jemals auf das Thema „Excel -Hyperlinks funktionieren“ gestoßen? Wissen Sie, wie man damit umgeht? In diesem Beitrag von Php.cn können Sie mehrere praktikable Lösungen erhalten, um dieses Problem zu beseitigen. Und Sie kennen ein professionelles Datenwiederherstellungstool t

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung