Junior — Middle
Vysvetlite koncept rekurzívnych funkcií a ako fungujú
sobes.tech AI
Odpoveď od AI
Rekurzívna funkcia je funkcia, ktorá volá sama seba na riešenie problému. Rozdeľuje problém na jednoduchšie podúlohy rovnakého typu, až kým nedosiahne základný prípad, pri ktorom nie sú potrebné ďalšie volania.
Princíp fungovania:
- Funkcia volá sama seba s upravenými parametrami, čím približuje riešenie k základnému prípadu.
- Keď je základný prípad dosiahnutý, funkcia začína vracať výsledky pozdĺž reťazca volaní.
Príklad: výpočet faktoriálu čísla n (n!)
def factorial(n):
if n == 0:
return 1 # základný prípad
else:
return n * factorial(n - 1) # rekurzívne volanie
Tu factorial volá samo seba s n-1, až kým nedosiahne 0, potom začína vracať hodnoty nahor po reťazci.
Rekurzia je užitočná pre úlohy, ktoré sa prirodzene delia na podobné podúlohy, ako je prechádzanie stromami, výpočet Fibonacciho čísel, triedenie a pod.