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.