মডিউল ১৭-২ঃ রিকার্সন
রিকার্সন (Recursion) কি?
রিকার্সন হলো এমন একটি প্রোগ্রামিং কৌশল যেখানে একটি ফাংশন নিজেকেই কল করে। এটি সাধারণত সমস্যা সমাধানের জন্য ব্যবহৃত হয় যা সাব-প্রবলেম (sub-problem) থেকে গঠিত।
রিকার্সন কিভাবে কাজ করে:
বেস কেস (Base Case): রিকার্সিভ ফাংশনে এমন একটি শর্ত থাকতে হবে যা রিকার্সন বন্ধ করে দেয়। এই শর্তকে "বেস কেস" বলা হয়।
রিকার্সিভ কল (Recursive Call): রিকার্সিভ ফাংশন নিজেকেই নিজে কল করে, এবং কল করা ফাংশনটি মূল ফাংশনের সাব-প্রবলেম সমাধান করে।
সমাধান একত্রিত করা (Combining Solutions): রিকার্সিভ কল থেকে ফেরত আসার পর, মূল ফাংশন সাব-প্রবলেমের সমাধানগুলো একত্রিত করে সামগ্রিক সমাধান তৈরি করে।
উদাহরণ:
#include<stdio.h>
void fun(int i,int n)
{
if(i==n+1) return; // বেস কেস
printf("%d\n",i);
fun(i+1,n); // রিকার্সিভ কল
}
int main()
{
int n;
scanf("%d",&n);
fun(1,n);
return 0;
}
Last updated