Sobes.tech
Junior — Middle

Dasturlashda rekursiv funksiyalarni ishlatish nima ekanligini va ular qanday ishlashini tushuntiring.

sobes.tech AI

AIdan javob

Rekursiv funktsiya — bu o'zini chaqiradigan funktsiya bo'lib, muammoni hal qilish uchun o'zini o'zi chaqiradi. Dasturlashda rekursiya murakkab vazifani o'ziga xos turdagi oddiyroq kichik vazifalarga bo'lish uchun ishlatiladi.

Ishlash prinsipi:

  • Funktsiya o'zini o'zgartirilgan argument bilan chaqiradi, yechimni asosiy holga yaqinlashtiradi.
  • Asosiy hol — rekursiya tugash sharti bo'lib, cheksiz chaqiruvlarning oldini oladi.

Go tilida misol — sonning faktorialini hisoblash:

package main
import "fmt"

func factorial(n int) int {
    if n == 0 {
        return 1 // asosiy hol
    }
    return n * factorial(n-1) // rekursiv chaqiruv
}

func main() {
    fmt.Println(factorial(5)) // 120
}

Rekursiya daraxtlar, grafiklar, vazifalarni bo'lish bilan ishlash uchun qulay, ammo yadro to'lib ketmasligi uchun ehtiyot bo'lish kerak.