Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Java rekurzív bináris keresőstratégia ciklus nélkül?

503
Tudnátok segíteni ebben a feladatban, hogy hogyan kezdjem el?

Az a feladat, hogy van egy csökkenő sorrendben rendezett tömbünk és ebben meg kell keresni egy számot, illetve azt is megadjuk, hogy a tömb hányadik elemétől hányadik eleméig keressen

Ezzel a metódussal kell:

public static int binSearchRec(int x, int[] fallen, int from, int to)


-x: A keresett szam

-fallen: Különböző egész számokat tartalmazó csökkenőbe rendezett tömb

-from: A tömb vizsgálandó szakaszának kezdőindexe ( from >= 0 )

-to: A tömb vizsgálandó szakaszának záróindexe ( to < fallen.length )


Példák:

input1: binSearchRec(100, new int[]{100, 71, 30, 21}, 0, 3) -> output1: 1

input2: binSearchRec(21, new int[]{3089, 1071, 568, 123, 21}, 0, 4) -> output2: 5

input3: binSearchRec(55, new int[]{89, 71, 68, 14, 11, 10, 2}, 0, 6) -> output3: 0

input4: binSearchRec(55, new int[]{89, 55, 53, 14, 11, 10, 2}, 0, 6) -> output4: 2

input5: binSearchRec(70, new int[]{90, 80, 70, 60, 50, 40, 30}, 2, 2) -> output5: 3

input6: binSearchRec(70, new int[]{90, 80, 70, 60, 50, 40, 30}, 3, 6) -> output6: 0
Jelenleg 1 felhasználó nézi ezt a kérdést.
Java, rekurzív, programozás
0
Felsőoktatás / Informatika

Válaszok

1
Én valahogy így csinálnám: https://pastebin.com/aF6V6b5p

Egyébként kicsit furcsa az a megoldás, hogy a megtalált elem indexénél 1-gyel nagyobb számot adunk vissza, és ha nincs benne, akkor pedig 0-t. Ezt direkt így kérte a feladat, vagy ez saját döntés? Csak mert általában inkább úgy szoktuk csinálni, hogy találat esetén magát az indexet adjuk vissza, különben -1-et (vagy valami hasonlóan érvénytelen értéket).
0