Binäres Suchen

S

Stephani Fuhsy

Gast
Hallo,
Ich habe folgendes Problem. Wir haben in der schule die Aufgabe Binäres Suchen mit java zu programmieren bekommen (am besten Rekursiv), habe bis lang folgende Hilfestellung gefunden:

[JAVA=42]
public static int sucheRekursiv(int indexAnfang, int indexEnde, char eingabeZeichen, char[] alphabet) {

// die Mitte zwischen Anfangs- und Endindex festlegen
int indexMitte = indexAnfang + ((indexEnde - indexAnfang) / 2);

// wenn das Zeichen mit dem Element des Mitteindexes übereinstimmt
if (alphabet[indexMitte] == eingabeZeichen) {

// dann das zurückgeben
return indexMitte;
}

//wenn das Ende der Rekursion erfolglos erreicht wurde.
if (indexAnfang == indexMitte) {

// sonst: kein Ergebnis (Zeichen im Alphabet nicht vorhanden)
return -1;
}

// wenn Zeichen in der Mitte kleiner ist als Eingabe
if (alphabet[indexMitte] < eingabeZeichen) {

// rekursiv die Suche noch mal aufrufen, diesmal aber mit neuem Indexanfang (1. Parameter)
return sucheRekursiv(indexMitte + 1, indexEnde, eingabeZeichen, alphabet);

} else { //if (alphabet[indexMitte] > eingabeZeichen)

// rekursiv die Suche noch mal aufrufen, diesmal aber mit neuem Indexende (2. Parameter)
return sucheRekursiv(indexAnfang, indexMitte - 1, eingabeZeichen, alphabet);

}
}
[/code]

Brauchte schnell Tipps und Lösungen muss sich nicht an meine Codeausschnitt orientieren.

Danke für alle Fleisigen Helfer im Vorraus ;)
 

faetzminator

Gesperrter Benutzer
Ich hab den Code nicht ausgeführt, aber ich kann keinen Fehler erkennen. Rekursiv ist er ebenfalls. Was ist dein Problem oder deine Frage?
 

Neue Themen


Oben