Junior — Middle
Обяснете какво означава използването на рекурсивни функции в програмирането и как работят.
sobes.tech AI
Отговор от AI
Рекурсивната функция е функция, която се извиква сама себе си за решаване на задача. В програмирането рекурсията се използва за разделяне на сложна задача на по-прости подзадачи от същия тип.
Принцип на работа:
- Функцията се извиква сама с променен аргумент, приближавайки решението към базовия случай.
- Базовият случай е условието, при което рекурсията приключва, за да се избегнат безкрайни извиквания.
Пример на Go — изчисление на факториал на число:
package main
import "fmt"
func factorial(n int) int {
if n == 0 {
return 1 // базов случай
}
return n * factorial(n-1) // рекурсивно извикване
}
func main() {
fmt.Println(factorial(5)) // 120
}
Рекурсията е полезна за работа с дървета, графи, разделяне на задачи, но изисква внимание, за да се избегне препълване на стека.