huhu. ich habe folgende Aufgabe:
Implementieren sie die binäre Suche in einem aufsteigend sortierten Array aus Ganzzahlen mit Hilfe von Rekursion. Ihre Parameter sind wie folgt:
• number: Ganzzahl, die im Array gesucht werden soll.
• values: Sortiertes Array, das durchsucht werden soll.
• begin: Array-Index, an dem die Suche startet.
• end: Array-Index, an dem die Suche endet. Wird selbst nicht mehr betrachtet
(nicht einschließlich). Die Methode gibt den Index zurück, an dem die gesuchte Zahl gefunden wurde oder
−1, falls die Zahl nicht im Array enthalten ist.
habe ich gemacht:
aber bei Aufgabe 2 haperts..
Beschreiben Sie, wie die Methode arbeitet. Gehen Sie dabei besonders auf die Abbruchbedingung und die rekursiven Aufrufe ein. Es soll klar werden, warum die Methode gerade so implementiert wurde. Eine Umschreibung des Quellcodes in Worten (Beispiel:“Die Rekursion bricht ab, wenn values an der Stelle begin gleich number ist”) ist nicht ausreichend.
ich weiß nicht genau, was die da von mir wollen, bzw. wie ich das ausdrücken soll.
LG
Implementieren sie die binäre Suche in einem aufsteigend sortierten Array aus Ganzzahlen mit Hilfe von Rekursion. Ihre Parameter sind wie folgt:
• number: Ganzzahl, die im Array gesucht werden soll.
• values: Sortiertes Array, das durchsucht werden soll.
• begin: Array-Index, an dem die Suche startet.
• end: Array-Index, an dem die Suche endet. Wird selbst nicht mehr betrachtet
(nicht einschließlich). Die Methode gibt den Index zurück, an dem die gesuchte Zahl gefunden wurde oder
−1, falls die Zahl nicht im Array enthalten ist.
habe ich gemacht:
Java:
int findIndex(int number, int[] values, int begin, int end)
{
int step = (end-begin)/2;
if (values[begin] == number)
return begin;
if (step == 0)
return -1;
if (values[begin+step] <= number)
return findIndex(number, values, begin+step, end);
else
return findIndex(number, values, begin, begin+step);
}
aber bei Aufgabe 2 haperts..
Beschreiben Sie, wie die Methode arbeitet. Gehen Sie dabei besonders auf die Abbruchbedingung und die rekursiven Aufrufe ein. Es soll klar werden, warum die Methode gerade so implementiert wurde. Eine Umschreibung des Quellcodes in Worten (Beispiel:“Die Rekursion bricht ab, wenn values an der Stelle begin gleich number ist”) ist nicht ausreichend.
ich weiß nicht genau, was die da von mir wollen, bzw. wie ich das ausdrücken soll.
LG