हाल ही में मैं रिकर्सन का अध्ययन कर रहा हूं; इसे कैसे लिखना है, इसका विश्लेषण करना आदि। मैंने थोड़ी देर के लिए सोचा है कि पुनरावृत्ति और पुनरावृत्ति एक ही बात थी, लेकिन हाल ही में होमवर्क असाइनमेंट और क्विज़ पर कुछ समस्याएं मुझे सोच रही हैं कि थोड़ा अंतर है, कि 'पुनरावृत्ति' तरीका है एक पुनरावर्ती कार्यक्रम या समारोह का वर्णन करें।पुनरावृत्ति का वर्णन करने के लिए मैं मास्टर प्रमेय का उपयोग कैसे करूं?
यह हाल ही में मेरे लिए बहुत ग्रीक रहा है, जब मुझे एहसास हुआ कि 'मास्टर प्रमेय' नामक कुछ चीजें हैं जो समस्याओं या कार्यक्रमों के लिए 'पुनरावृत्ति' लिखती हैं। मैं विकिपीडिया पेज के माध्यम से पढ़ रहा हूं, लेकिन, सामान्य रूप से, चीजों को इस तरह से कहा जाता है कि मैं वास्तव में समझ नहीं पा रहा हूं कि यह किस बारे में बात कर रहा है। मैं उदाहरणों के साथ बहुत बेहतर सीखता हूं।
तो, कुछ सवाल: कहते हैं कि तुम इस पुनरावृत्ति दिया जाता है की सुविधा देता है:
आर (एन) = 2 * आर (n-2) + r (n-1);
आर (1) = r (2) = 1
इस है, वास्तव में, मास्टर प्रमेय के रूप में? यदि हां, तो शब्दों में, यह क्या कह रहा है? यदि आप इस पुनरावृत्ति के आधार पर एक छोटा कार्यक्रम या पुनरावृत्ति का पेड़ लिखने की कोशिश कर रहे थे, तो यह कैसा दिखता है? क्या मुझे सिर्फ पैटर्न को देखने, संख्याओं को प्रतिस्थापित करने का प्रयास करना चाहिए, फिर छद्म कोड लिखना जो उस पैटर्न को दोबारा बना सकता है, या क्योंकि यह मास्टर प्रमेय के रूप में हो सकता है, क्या यह एक और अधिक सरल, गणितीय दृष्टिकोण है?
अब, मान लें कि आपको पुनरावृत्ति, टी (एन), पिछले पुनरावृत्ति से बनाए गए कार्यक्रम द्वारा किए गए जोड़ों की संख्या के लिए पुनरावृत्ति खोजने के लिए कहा गया था। मैं देख सकता हूं कि बेस केस शायद टी (1) = टी (2) = 0 होगा, लेकिन मुझे यकीन नहीं है कि वहां से कहां जाना है।
असल में, मैं पूछ रहा हूं कि दिए गए पुनरावृत्ति से कोड और विपरीत के लिए कैसे जाना है। चूंकि यह मास्टर प्रमेय की तरह दिखता है, इसलिए मैं सोच रहा हूं कि इसके बारे में जाने का एक सीधा और गणितीय तरीका है या नहीं।
संपादित करें: ठीक है, मैंने अपने पिछले कुछ असाइनमेंट्स को देखा है जहां से पूछा गया है कि 'पुनरावृत्ति खोजने के लिए', जो इस प्रश्न का हिस्सा है, मुझे पोस्ट परेशानी हो रही है साथ में।
पुनरावृत्ति है कि सबसे अच्छा तरह से वर्णित कार्यक्रम टुकड़ा
int example(A, int l, int r) {
if (l == r)
return 2;
return (A[l] + example(A, l+1, r);
}
ठीक है, यह बहुत सरल लगता है। मुझे बिल्कुल यकीन नहीं है कि 'पुनरावृत्ति' क्या है, लेकिन मेरा प्रोफेसर अक्सर शब्द का उपयोग करता है, और अभ्यास परीक्षा पर कई प्रश्न हमें एक कार्यक्रम देखने के लिए कहते हैं, और फिर इसे ढूंढते हैं। मैं अपने प्रश्न को एक और उदाहरण के साथ संपादित करूंगा। –