Recursive Function বিষয়ক কিছু কথা : On Recursive Function

আধুনিক সকল প্রোগ্রামিং ল্যাঙ্গুয়েজ এই Recursive Function কে ব্যাবহার করে অনেক জটিল সমস্যা সমাধান করা সম্ভব। যদিও সঠিক ভাবে না বোঝার কারণ এ অনেকেই এই পদ্ধতি ব্যাবহার করেন না। Recursive Function অর্থ একটি function যখন নিজের ভিতর তার নিজেকে call করে। এই প্রক্রিয়া ততক্ষন চলতে থাকে, যতক্ষণ function টি নির্দিষ্ট কোন parameter এর জন্য কোন সংখ্যা return না করে। একটি উদাহরন দিয়ে বিষয়টি পরিষ্কার ভাবে দেখা যাক।

int factorial ( int i ) //line 1
{ //line 2
if ( i == 0) //line 3
return 1; //line 4
return i * factorial ( i - 1); //line 5
}
//line 6
এখানে factorial ( i ) function টি তার নিজের মান হিসাব করার জন্য factorial ( i-1) কে কল করেছে। যেহেতু টি নিজের ভিতর নিজেকে ই একটি ভিন্ন parameter দিয়ে কল করেছে, তাই এটি একটি recursive function। ধরা যাক আমরা factorial(4)কে কল করছি। এই ক্ষেত্রে এটি factorial(3) কে কল করবে। যা আবার factorial(2) কে কল করবে। এই প্রক্রিয়া ততক্ষন চলবে যতক্ষণ factorial(0)কল না হয়, যা ১ return করবে। যা এরপর বিপরীত প্রক্রিয়ায় factorial(1) হিসাব করতে ব্যাবহার করা হবে। এই প্রক্রিয়া চলবে যতক্ষণ factorial(4) এর জন্য একটি সুনির্দিষ্ট মান না আসে।
factorial(0)=1, factorial(1)=1*1, factorial(2)=2*1*1, factorial(3)=3*2*1*1, factorial(4)=4*3*2*1*1=24

এই প্রক্রিয়া তে Fibonacci Series, Tower of Hanoi জাতীয় আরও জটিল সমস্যা অল্প কয়েক লাইন প্রোগ্রাম ব্যাবহার করে সহজে সমাধান করা সম্ভব।

Permanent link to this article: http://bangla.sitestree.com/recursive-function-%e0%a6%ac%e0%a6%bf%e0%a6%b7%e0%a7%9f%e0%a6%95-%e0%a6%95%e0%a6%bf%e0%a6%9b%e0%a7%81-%e0%a6%95%e0%a6%a5%e0%a6%be-on-recursive-function/