রিকার্সিভ ফাংশন (Recursive function) কি? এর বৈশিষ্ট্য, সুবিধা, অসুবিধা।
একটি ফাংশন অন্য কোনো ফাংশনকে কল করতে পারে। সি-তে রিকার্সিভ নামে এক বিশেষ ধরনের ফাংশন ব্যবহৃত হয় যা প্রয়োজনে নিজেই নিজেকে কল করতে পারে। অর্থাৎ যখন কোনো ফাংশন নিজেই নিজেকে কল করে তখন তাকে রিকার্সিভ ফাংশন (Recursive function) বলা হয় এবং এই প্রক্রিয়াকে রিকার্সন বলা হয় এবং এইরূপ ফাংশন কলকে বলে রিকার্সিভ কল। রিকার্সিভ ফাংশন একটি নির্দিষ্ট অবস্থা পর্যন্ত নিজেকে কল করতে পারে এবং এর ফলে একটি একটি শিকল এর সৃষ্টি হয়। রিকার্সিভ ফাংশনের মধ্যে এমন একটি ব্যবস্থা থাকতে হবে যাতে এক পর্যায়ে গিয়ে রিকার্সন শেষ হয়। অর্থাৎ আর রিকার্সন কল না ঘটে। এই ব্যবস্থাকে বলে রিকার্সনের টার্মিনেটিং কন্ডিশন।
রিকার্সিভ ফাংশনের বৈশিষ্ট্য
- রিকার্সিভ ফাংশন নিজেই নিজেকে কল করে।
- প্রতিটি রিকার্সিভ ফাংশনের একটি টার্মিনেটিং কন্ডিশন থাকতেই হবে; তা না হলে রিকার্সিভ কল চলতেই থাকে।
- মূলত রিকার্সিভ ফরমুলা বা সিরিজ সহজে রিকার্সিভ ফাংশন দিয়ে সমাধান করা যায়।
রিকার্সিভ ফাংশন ব্যবহারের সুবিধা
- প্রোগ্রামের জটিলতা অনেক কমে যায়।
- অনেক কম সংখ্যক ভেরিয়েবলের প্রয়োজন হয় এবং প্রোগ্রাম সহজ ও সুন্দর হয়।
রিকার্সিভ ফাংশন ব্যবহারের অসুবিধা
- প্রোগ্রাম সম্পাদনের সময় অনেক বাড়িয়ে দেয়।
- রিকার্সিভ ফাংশন ব্যবহার করলে লুপের সংখ্যা বেড়ে যায়।
আরো পড়ুনঃ-
১। প্রোগ্রাম রচনার ধাপসমূহ কি কি?
২। প্রোগ্রামের ভুল কাকে বলে? প্রোগ্রামের ভুল কত প্রকার ও কি কি?
৩। ডাটা টাইপ (Data Type) বলতে কী বোঝায়?
৪। অ্যারে (Array) কাকে বলে? অ্যারে ব্যবহারের সুবিধা ও অসুবিধা কি?
৫। সুডোকোড ও স্ক্যান কোড বলতে কী বোঝায়?
৭। অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী- ব্যাখ্যা কর।