Sobes.tech
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.