Ta'rif: Funksiya o'ziga o'zi to'g'ridan-to'g'ri yoki qandaydir vosita orqali murojaat qilish jarayoniga rekursiya deyiladi va bunday funksiya rekursiv funksiya deb ataladi.
Hikoyadagi misolga qaytadigan bo'lsak, Abdullajon u yerda summa() nomli funksiya natijasini hisoblash uchun unga bir necha marta qayta murojaat qilishiga to'g'ri keldi. Aynan shu narsa rekursiyaning mohiyatini tashkil qiladi.
Lekin, shunchaki ta'rif yordamida to'g'ri va xatosiz ishlovchi rekursiv funksiya tuzish qiyin, buning uchun rekursiv funksiyaning asosiy shartlarini yaxshi bilish kerak.
Har qanday to'g'ri tuzilgan rekursiya asosini ikkita shart tashkil qiladi.
Rekursiya asos sharti
Funksiyaning o'ziga o'zgartirilgan argument bilan murojaat qilish.
Rekursiv funksiya qaysidir vaqtga kelib o'ziga murojaat qilishni to'xtatishi kerak bo'ladi. Aynan shu narsani rekursiya asos sharti ta'minlab beradi. Hikoyamizdagi misolga qaytadigan bo'lsak, Abdullajon summa() funksiyasiga bir necha marta murojaat qildi va oxirida funksiyaga keluvchi massivda faqat bitta element qolganda to'xtadi. Bu masala uchun arrayda yagona element qolishi asos shart bo'lib xizmat qiladi va shu yerga yetganda dastur to'xtashi kerakligini bilib oladi. Rekursiv funksiya tuzishda asos shartni to'g'ri qo'yish juda ham muhim hisoblanadi. Hali bunga yana to'xtalamiz.