প্রোগ্রমিং এর ক্ষেত্রে রিকার্শন (recursion) একটি গুরুরত্বপূর্ণ টপিক। কোন ফাংশন যখন নিজেকে নিজেই কল করে তখন তাকে রিকার্শন বলে। পাইথন রিকার্শন ব্যবহার করার অনুমতি দেয়। রিকার্শন এর কথা আসলে প্রথমেই factorial এর কথা মনে পড়ে যায়, এখন এই factorial উদাহরণের সাহায্যে রিকার্শন দেখে আসি –
# This program is an example of recursion in python
def recursion_python(value):
if(value==1):
return 1
else:
return (value*recursion_python(value-1))
print(recursion_python(5)) # function call
ফলাফল-
120
যেহেতু একটু আগেই আমরা পাইথন সম্পর্কে বিশদ জেনে এসেছি তাই ফাংশন নিয়ে কোন আলোচনা করছি না। এখানে ৭ম লাইনে লক্ষ্য করি, ফাংশনের নামটি recusrion_python() আবার এর ভিতরেই আবার একেই কল করা হয়েছে।
যখন ৭ম লাইনে আসছে তখন value অর্থাৎ 5 এর সাথে value-1 অর্থাৎ 4 গুন হচ্ছে; একইভাবে যখন এই ফাংশনটি আবার কল হচ্ছে তখন এটার সাথে value-1 অর্থাৎ 3 গুন হচ্ছে। এভাবে চলতে চলতে যখন ভ্যালু 1 হচ্ছে তখন এখান থেকে বের হয়ে যাচ্ছে। সুতরাং গুনের ক্রমটা হচ্ছে 5,4,3,2,1
আশাকরি রিকার্শন ভালভাবেই বুঝতে পেরেছেন। যদি কোন প্রশ্ন থাকে তাহলে জানাতে ভুলবেন না।
ধন্যবাদ সবাইকে।