Binárne vyhľadávanie: Rozdiel medzi revíziami
Smazaný obsah Přidaný obsah
d aktualizacia algoritmu pre python 3; doplnenie zmienky o chybe |
→Implementácie: zmena v kóde - vyhľadávanie teraz vracia index hľadaného elementu, čo je obvyklejšie Značky: úprava z mobilu úprava z mobilného webu |
||
Riadok 10:
<source lang="python">
def binarySearch(zoznam, hodnota, vlavo, vpravo):
stred = vlavo + int((vpravo - vlavo) / 2)▼
if zoznam[stred] == hodnota:▼
return True▼
if hodnota < zoznam[stred]:▼
binarySearch(zoznam, hodnota, vlavo, stred - 1)▼
else:▼
binarySearch(zoznam, hodnota, stred + 1, vpravo)▼
</source>▼
Vďaka tomu, že rekurzívne volania sú na konci funkcie ([[koncová rekurzia]]), je možné túto implementáciu prepísať len pomocou cyklu:▼
▲ return binarySearch(zoznam, hodnota, vlavo, stred - 1)
▲ return binarySearch(zoznam, hodnota, stred + 1, vpravo)
▲ </source>
▲Vďaka tomu, že rekurzívne volania sú na konci funkcie ([[koncová rekurzia]]), je možné túto implementáciu prepísať len pomocou cyklu
<source lang="python">
def binarySearch(zoznam, hodnota, vlavo, vpravo):
|