Junior — Middle
Wyjaśnij, co oznacza używanie funkcji rekurencyjnych w programowaniu i jak one działają.
sobes.tech AI
Odpowiedź od AI
Funkcja rekurencyjna to funkcja, która wywołuje samą siebie w celu rozwiązania zadania. W programowaniu rekurencja jest używana do dzielenia złożonego zadania na prostsze podzadania tego samego typu.
Zasada działania:
- Funkcja wywołuje siebie z zmienionym argumentem, zbliżając rozwiązanie do przypadku bazowego.
- Przypadek bazowy to warunek, w którym rekurencja się kończy, aby uniknąć nieskończonych wywołań.
Przykład w Go — obliczanie silni liczby:
package main
import "fmt"
func factorial(n int) int {
if n == 0 {
return 1 // przypadek bazowy
}
return n * factorial(n-1) // wywołanie rekurencyjne
}
func main() {
fmt.Println(factorial(5)) // 120
}
Rekurencja jest przydatna przy pracy z drzewami, grafami, dzieleniu zadań, ale wymaga ostrożności, aby nie spowodować przepełnienia stosu.