Intern
Co je to rekurze?
sobes.tech AI
Odpověď od AI
Rekurze je proces, při kterém si funkce volá sama sebe. V programování je rekurzivní funkce taková, která se volá přímo nebo nepřímo sama sebe. Aby se zabránilo nekonečné smyčce, musí mít rekurzivní funkce základní případ (base case), při kterém přestane sama sebe volat.
Příklady použití:
- Procházení datových struktur (například stromů).
- Řešení problémů, které lze rozdělit na menší podproblémy stejného typu (například výpočet faktoriálu).
Příklad výpočtu faktoriálu pomocí rekurze:
def factorial(n):
# Základní případ: faktoriál 0 je 1
if n == 0:
return 1
# Rekurzivní případ: faktoriál n = n * faktoriál (n-1)
else:
return n * factorial(n - 1)
# Příklad použití
result = factorial(5)
# výsledek bude 120
Nevýhody rekurze:
- Může spotřebovat hodně paměti kvůli zásobníku volání.
- Může být méně efektivní ve srovnání s iterativními řešeními u některých problémů.
- Může dojít k přetečení zásobníku při hlubokých rekurzivních voláních.