Base case and recursive case In Hindi
जावा प्रोग्रामिंग रिकर्शन में बेस केस और रिकर्सिव केस किसी भी रिकर्सिव मेथड के दो इम्पोर्टेन्ट एलिमेंट स्ट्रक्चर होते हैं। रिकर्शन फंक्शन मेथड में बेस केस और रिकर्सिव केस कॉन्सेप्ट जावा यूजर को तब हेल्प करते हैं. जब जावा प्रोग्रामर को रिकर्शन में उसके स्टार्ट और एन्ड बेहेवियर को कण्ट्रोल या फिक्स करना हो।

So, let’s better understand recursive and base case in Java programming.
Recursive Base Case /Recursion Termination Condition.
जावा रिकर्शन में बेस केस रिकर्सिव फ़ंक्शन में यूजर डिफाइन एक कंडीशन होती है, जो यह इंडीकेट करती है कि रिकर्शन फंक्शन को कब टर्मिनेट होना चाहिए। यह यूजर डिफाइन प्रॉब्लम को एक इजी मेथड में एक स्माल सलूशन को डिफाइन करता है. जिसे जरूरत पड़ने पर बिना किसी और रिकर्सिव कॉल के डायरेक्ट सॉल्व किया जा सकता है। रिकर्शन में बेस केस के बिना, रिकर्सिव फ़ंक्शन अपने आप को इनफिनिट टाइम तक कॉल करता रहेगा, इस कारण इसमें ‘स्टैक ओवरफ़्लो’ इशू जनरेट हो जाएगा। डिटेल में रिकर्शन बेस केस अनंत समय से पहले रिकर्शन फंक्शन मेथड को टर्मिनेट करता है, और रिकर्शन फंक्शन मेथड के लिए टर्मिनेट प्रोसेस को डिफाइन करता है।
Features of the Base Case in recursion.
- Stops the recursion – यह रिकर्शन में वह एलिमेंट है, जहाँ रिकर्शन मेथड स्टॉप हो जाता है।
- Simplest form – यह रिकर्शन में किसी रिकर्सिव प्रॉब्लम के लिए सबसे इजी पॉसिबल इनपुट या कंडीशन को रिप्रेजेंट करता है, जिसे जरूरत पड़ने पर डायरेक्ट सॉल्व किया जा सकता है।
- Stops infinite recursion – यहाँ रिकर्शन में बेस केस के बिना यूजर डिफाइन रिकर्सिव फ़ंक्शन अपने आप को हमेशा के लिए कॉल करता रहेगा।
Factorial example from a base case in recursion.
जावा प्रोग्रामिंग में प्रोग्रामर रिकर्सिव बेस केस को डिफाइन करने के लिए। रिकर्सिव फ़ैक्टोरियल फ़ंक्शन को कुछ इस प्रकार डिफाइन कर सकते है.
n!=n×(n−1)×(n−2)×⋯×1n!=n×(n−1)×(n−2)×⋯×1
0!=10!=1 ( base case define here)
यहाँ इस फ़ैक्टोरियल फंक्शन में बेस केस डिफाइन होता है, जब इसमें n=0 हो, और फ़ैक्टोरियल फ़ंक्शन को 1 वैल्यू रिटर्न करनी चाहिए।
Example of Base Case Factorial in Java.
public class Main
{
// here Recursive method used to calculate factorial value
public static int fact(int n) {
if (n == 0) {
return 1; // here Base case: define factorial of 0 is 1 value
} else {
return n * fact(n – 1); // here we define Recursive case
}
}
public static void main(String[] args) {
int output = fact(7); // output is 7! = 5040
System.out.println(“\n The Factorial of 7 number is – ” + output);
}
}
Explanation of the Base Case Factorial.
यहाँ इस प्रोग्राम में बेस केस जब n=0 डिफाइन किया गया है, तो फैक्ट फंक्शन मेथड डायरेक्ट 1 वैल्यू को रिटर्न करता है। यह प्रोसेस रिकर्सिव के कॉल्स को स्टॉप करता है। इसमें जब रिकर्सिव केस n > 0 वैल्यू डिफाइन होता है, तो यह मेथड अपने आप को n-1 के साथ कॉल करता है, और यह तब तक रन होता रहता है, जब तक यह बेस केस तक नहीं पहुँच जाता।
Recursive Case/Recursive Call in Java.
रिकर्शन फंक्शन में रिकर्सिव केस फ़ंक्शन का वह एलिमेंट या स्ट्रक्चर होता है, जहाँ यह एक मॉडिफाई फंक्शन मेथड आर्गुमेंट के साथ अपने आप को कॉल करता है। यह प्रोसेस या स्टेप किसी प्रॉब्लम के लार्ज साइज को स्माल में कन्वर्ट का देता है, जिससे बाद के रिकर्सिव कॉल्स में यह बेस केस के और करीब पहुँच जाता है।
Features of the recursive case in Java.
- Self-call – यह रिकर्सिव केस मेथड नए वेरिएबल पैरामीटर्स के साथ अपने आप को कॉल करता है, जिससे रिकर्शन प्रोग्रामिंग में पॉब्लेम का साइज स्माल हो जाता है।
- Smaller problem – यहाँ हर रिकर्सिव प्रॉसेस कॉल के साथ काम्प्लेक्स प्रॉब्लम स्माल या इजी होती जाती है।
- Leading to the base case – अंत में रिकर्सिव कॉल्स को बेस केस तक पहुँच जाना चाहिए।
Java recursive case factorial example.
यहाँ फ़ैक्टोरियल प्रोग्राम के एक्साम्प्ल में रिकर्सिव केस फंक्शन को यह लाइन डिफाइन करती है.
return n * factorial(n – 1);
इस रिकर्सिव फंक्शन में हर बार जब फ़ंक्शन अपने आप को कॉल करता है, तो यह n वैल्यू को 1 से कम कर देता है, जो अपने आप धीरे-धीरे n=0 बेस केस तक मूव करता है।
Base Case vs. Recursive Case in Java.
- Base Case – रिकर्शन में बेस केस डायरेक्ट इजी इनपुट के लिए रिजल्ट को डिस्प्ले करता है, और अनंत रिकर्शन प्रोसेस को टर्मिनेट करता है।
- Recursive Case – रिकर्शन में एक मॉडिफाई वेरिएबल पैरामीटर (सामान्यता यहाँ किसी प्रॉब्लम का एक छोटा या इजी फॉर्मेट) के साथ एक रिकर्सिव टास्क को कॉल करता है, जो अंत में इसे बेस केस तक मूव करता है।
Fibonacci Sequence Example in Base and Recursive Case in Java.
जावा प्रोग्राम में फ़िबोनाची सीक्वेंस नम्बर्स की एक ऐसी सीरीज वैल्यू है, जिसमें हर नंबर अपने से प्रीवियस वाली दो नंबर्स का टोटल होती है.
F(0)=0F(0)=0
F(1)=1F(1)=1
F(n)=F(n−1)+F(n−2)F(n)=F(n−1)+F(n−2) for n≥2n≥2
Recursive Fibonacci Method in Java Programming.
public class Main
{
// here we define Recursive method to calculate the nth number of Fibonacci number sequence
public static int fibonacci_num(int n) {
if (n == 0) {
return 0; // here Base case – define F(0) = 0
} else if (n == 1) {
return 1; // here recursive Base case – define F(1) = 1
} else {
return fibonacci_num(n – 1) + fibonacci_num(n – 2); // here Recursive case method define
}
}
public static void main(String[] args) {
int output = fibonacci_num(9); // Output is F(9) = 34
System.out.println(“\n the Fibonacci of 9 number is – ” + output);
}
}
Explanation of the Recursive Fibonacci Method.
- यहाँ फिबोनाची प्रोग्राम में बेस केस जब n=0 वैल्यू हो, तो यह 0 वैल्यू को रिटर्न करता है। जब n=1 वैल्यू हो, तो यह 1 वैल्यू को रिटर्न करता है। यहाँ डिफाइन यह एक इजी फिबोनाची वैल्यूज़ हैं।
- यहाँ रिकर्सिव केस में जब n≥2 वैल्यू के लिए, फंक्शन अपने आप को दो बार कॉल करता है, एक बार n−1 के साथ और एक बार n−2 के साथ हो। इस प्रोसेस में रिकर्सिव कॉल पॉब्लेम को तब तक ब्रेक करते रहते हैं. जब तक वे टार्गेटेड बेस केस वैल्यू तक नहीं पहुँच जाते है।
