Sobes.tech
Intern

Шта је рекурзија?

sobes.tech АИ

Одговор од АИ

Рекурзија је процес у којем функција позива саму себе. У програмирању, рекурзивна функција је она која се позива директно или индиректно. Да би се избегла бесконачна петља, рекурзивна функција мора имати основни случај (base case), у којем престаје да се позива.

Примери употребе:

  • Обилазак структура података (нпр. дрвећа).
  • Решавање проблема који се могу поделити на мање подзадаке истог типа (нпр. израчунавање факторијела).

Пример израчунавања факторијела коришћењем рекурзије:

def factorial(n):
  # Основни случај: факторијел од 0 је 1
  if n == 0:
    return 1
  # Рекурзивни случај: факторијел од n = n * факторијел од (n-1)
  else:
    return n * factorial(n - 1)

# Пример употребе
result = factorial(5)
# резултат ће бити 120

Недостаци рекурзије:

  • Може потрошити много меморије због стека позива.
  • Може бити мање ефикасна у поређењу са итеративним решењима за неке проблеме.
  • Може довести до прелива стека при дубоким рекурзивним позивима.