"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > प्रत्यावर्तन

प्रत्यावर्तन

2024-09-02 को प्रकाशित
ब्राउज़ करें:328

Recursão

रिकर्सन परिभाषा:

  • रिकर्सन एक ऐसी विधि है जो स्वयं को कॉल करती है।
  • एक विधि पुनरावर्ती होती है जब इसमें स्वयं एक कॉल शामिल होती है।

क्लासिक उदाहरण:
फैक्टोरियल गणना रिकर्सन का एक उत्कृष्ट उदाहरण है।
किसी संख्या का भाज्य? 1 से N तक के सभी पूर्णांकों का गुणनफल है

कोड उदाहरण:

  • प्रदान किया गया कोड फैक्टोरियल की गणना करने के लिए एक पुनरावर्ती विधि (फैक्टआर) और एक पुनरावृत्त विधि (फैक्टआई) दिखाता है।
  • दोनों विधियां समान परिणाम देती हैं, लेकिन अलग-अलग दृष्टिकोण के साथ।

पुनरावर्ती विधि कैसे काम करती है:

  • पुनरावर्ती विधि (factR) स्वयं को
  • के मान तक कॉल करती है
  • ? n हो 1.
  • प्रत्येक पुनरावर्ती कॉल के साथ, विधि "स्टैक" हो जाती है और केवल तभी लौटना शुरू होती है जब आधार स्थिति पूरी हो जाती है।

कॉल स्टैक:

  • प्रत्येक पुनरावर्ती कॉल नए मापदंडों और चर के लिए निष्पादन स्टैक पर स्थान आवंटित करती है।
  • पुनरावर्ती कॉल के कारण स्टैक ओवररन हो सकता है, जिसके परिणामस्वरूप अपवाद हो सकते हैं।

पुनरावृत्ति के साथ तुलना:

  • कुछ एल्गोरिदम के लिए पुनरावर्ती विधियां स्पष्ट और सरल हो सकती हैं, जैसे त्वरित सॉर्ट।
  • हालाँकि, विधि कॉल ओवरहेड के कारण पुनरावर्ती संस्करण धीमे हो सकते हैं।

रिकर्सन का उपयोग करते समय सावधानियां:

  • विधि को अनंत लूप में प्रवेश करने से रोकने के लिए समाप्ति की स्थिति का होना महत्वपूर्ण है।
  • डिबग स्टेटमेंट जैसे println() आपको पुनरावर्ती निष्पादन के प्रवाह को समझने में मदद कर सकते हैं।

फैक्टोरियल की गणना करने के लिए पुनरावर्ती कोड
रिकर्सन देखें.JAVA

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/devsjavagirls/recursao-17o5?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3