রিকার্সিভ ফংশন (Recursive Function)
রিকার্সিভরিকার্সিভ ফাংশনঃ-
যে ফংশন নিজে নিজেকে কল করে সে ফাংশন কে রিকার্সিভ ফাংশন বলে। বিষয়টা একদম সহজ আমরা আস্তে এর গভীরে যাব। ধীরে কোড বুঝে পরতে হবে এবং কোড গুলো লিখে এক্সিকিউট করতে হবে।
সিনট্যাক্সঃ
মনে রাখতে হবেঃ-
১।রিকার্সিভ ফাংশন লিখার সময় অবশ্যই একটা এক্সিকিউশন স্টপ শর্ত থাকতে হবে।
২। ইনফিনিটি এক্সিকিউশন থেকে বের হতে আপনি if--else statement ব্যাবহার করতে পরেন অথবা একই ধরনের কোন প্রক্রিয়া অনুসরণ করতে পারেন।
৩। বাস্তব জীবনে খুব দরকার না হলে রিকার্সিভ ফাংশন ব্যাবহার না করায় ভাল।
আসুন আমরা একটা কোড লিখি যেইটা আমাদের ফ্যাক্টোরিয়াল নাম্বার বের করে দিবে। যেখানে আমরা ইনপুট হিসেবে একটা নাম্বার দিব এবং আউটপুট হিসবে আমরা ঐ ইনপুটের ফ্যাক্টোরিয়াল পাব।
এখন একটু জেনে নেই এইটা আসলে কিভাবে এক্সকিউট হচ্ছে?
কখন আপনি রিকার্সিভ ফাংশন ব্যাবহার করবেন ?
১। যখন আপনি কোন একটা ফাংশনকে ছোট ছোট সাব প্রব্লেমে ভাগ করতে চান। এইটাকে divide-and-conquer approach নামেও বলা হয়ে থাকে।
২। আপনি যখন কোন গ্রাফের ট্রাভার্স করতে চাইবেন।
৩। আপনি যখন কোন পর্যায়ক্রমিক ভ্যালু চাইবেন যেমনঃ- ফিবোনাক্কি
কখন আপনি রিকার্সিভ ফাংশন ব্যাবহার করবেন না ?
১। যখন আপনি মনে করবেন যে প্রভলেমটা লুপ দিয়ে করা সম্ভব
২। যদি প্রভলেমটা অনেক বেশি জটিল এবং বড় হয়ে যায় ।
৩। যদি আপনি মনে করেন আপনার কোডে পারফর্মেন্স এর সমস্যা হচ্ছে। কারণ তুলনা মূলক ভাবে রিকার্সিভ ফাংশন ধীরগতির।
Last updated