Junior — Middle
Vysvetlite koncept rekurzívnych volaní v programovaní
sobes.tech AI
Odpoveď od AI
Rekurzívne volanie je, keď funkcia volá sama seba na riešenie úlohy. Zvyčajne sa rekurzia používa na rozdelenie zložitej úlohy na jednoduchšie podúlohy rovnakého typu.
Príklad: výpočet faktoriálu čísla n (n!) — súčin všetkých čísel od 1 do n.
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n - 1)
Tu funkcia factorial volá sama seba s zmenšeným argumentom, kým nedosiahne základný prípad (n == 0 alebo 1), potom začína vracať výsledky cez reťazec volaní.
Je dôležité, aby rekurzívna funkcia mala základný prípad, inak budú volania nekonečné a spôsobia pretečenie zásobníka.