Keresés

Keresendő kifejezés:

Toplista

Toplista
  • betöltés...

Segítség!

Ahhoz, hogy mások kérdéseit és válaszait megtekinthesd, nem kell beregisztrálnod, azonban saját kérdés kiírásához ez szükséges!

Python feladat

48
Írj egy bináris kereső függvényt, ami egy rendezett listában keres egy elemet. A függvénynek vissza kell adnia a listában keresendő elem indexét.
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Középiskola / Informatika

Válaszok

1
Furcsa feladat. Ezt egyszer kell megírni és tipikusan nem önerőből. Úgyhogy nem látom értelmét házi feladatban ezt adni. Ha már megírtátok órán, akkor fölösleges, ha még nem, akkor aberráns elvárás.

def binaris_kereses(lista, ertek):
    elso = 0
    utolso = len(lista) - 1

    while elso <= utolso:
        kozepso = (elso + utolso) // 2
        if lista[kozepso] < ertek:
            elso = kozepso + 1
        elif lista[kozepso] > ertek:
            utolso = kozepso - 1
        else:
            return kozepso

    return False

print(binaris_kereses([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100], 5))
print(binaris_kereses([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100], 95))
1