के साथ रिकर्सन भ्रम मैं अभी भी अपने दिमाग को रिकर्सन के चारों ओर लपेट रहा हूं, और मुझे लगता है कि मुझे मूलभूत जैसे मूलभूत मिलते हैं। लेकिन मैं आगे स्पष्टीकरण चाहते हैं जब वापसी कथन निम्नलिखित स्निपेट पर की तरह एक छोटे से अधिक जटिल है:एकाधिक रिटर्न
/**
* @param n >= 0
* @return the nth Fibonacci number
*/
public static int fibonacci(int n) {
if (n == 0 || n == 1) {
return 1; // base cases
} else {
return fibonacci(n-1) + fibonacci(n-2); // recursive step
}
}
वापसी बयान में फाइबोनैचि (n-1) पूरी तरह से के माध्यम से पुनरावृत्ति होना होता है, नीचे जाने से पहले फाइबोनैकी (एन -2) चरण (क्या यह समझ में आता है)? यदि ऐसा है, तो यह कल्पना करना बहुत मुश्किल लगता है।
यदि कल्पना करना मुश्किल है, तो बस एक डीबगर के साथ अपने कोड के माध्यम से कदम। यह आपको * बिल्कुल * दिखा रहा है कि क्या हो रहा है। – tadman
धारणा के साथ उपरोक्त एकल धागा है, हां। –
'fibonacci (n-1) + fibonacci (n-2) का क्रम; 'निर्दिष्ट नहीं है, या तो पहले – CoryKramer