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