दुनिया की कुछ सबसे बड़ी समस्याओं के समाधान की खोज में कोड दोहराने की आवश्यकता को कभी भी कम करके नहीं आंका जा सकता। आपको यह जानने की आवश्यकता है कि प्रोग्रामिंग में, पुनरावृत्ति दो रूपों में से एक लेती है - पुनरावृत्ति या पुनरावृत्ति।
यहां लक्ष्य आपको कोड में पुनरावृत्ति से परिचित कराना है और यह दर्शाता है कि इसका उपयोग आपके जावा प्रोग्राम को बढ़ाने के लिए कैसे किया जा सकता है।
पुनरावृत्ति कार्यक्रम आपको कुछ सबसे कठिन प्रोग्रामिंग समस्याओं को हल करने में मदद कर सकते हैं। जावा में पुनरावर्ती कार्यक्रम बनाने के लिए आपको यहां जानने की आवश्यकता है।
Iteration का उपयोग करना
पुनरावृत्ति कोड को दोहराने के लिए एक लूप संरचना का उपयोग करता है। तीन प्रकार की पुनरावृत्त संरचनाएं प्री-टेस्ट लूप (जबकि), पोस्ट-टेस्ट लूप (डू-एज़) और, हैं काउंटर-नियंत्रित लूप (के लिए).
ये पुनरावृत्त संरचनाएँ कोड के एक ब्लॉक को दोहराते हुए संचालित होती हैं जबकि एक विशिष्ट स्थिति बनी रहती है सच है, लेकिन जैसे ही वह स्थिति झूठी हो जाती है लूप बंद हो जाता है और कार्यक्रम अपने सामान्य पर लौट आता है बहे।
उदाहरण के लिए, हम 1 से n तक के सभी पूर्णांकों के योग की समस्या को हल करने के लिए पुनरावृत्त संरचनाओं में से एक को नियोजित कर सकते हैं। समाधान का उपयोग करने वाले पुनरावृत्त संरचना के आधार पर एक विशिष्ट रूप लेगा, लेकिन किसी भी तीन पुनरावृत्त संरचनाएं निम्नलिखित का उपयोग करके इस समस्या का समाधान प्रदान कर सकती हैं स्यूडोकोड।
Iteration Pseudocode उदाहरण
शुरू
योग राशि, पूर्णांक के रूप में गणना करें
योग = ०
गिनती = १
दोहराएं
सम = योग + गिनती
गिनती = गिनती + १
UNTIL की गिनती> n
समाप्त
ऊपर दिए गए छद्मकोड के दो चर, योग और गणना हैं, जो क्रमशः 0 और 1 के लिए आरंभिक हैं। "काउंट" वैरिएबल 1 से शुरू होता है क्योंकि हम जिस समस्या को हल करने की कोशिश कर रहे हैं वह यह है कि हमें 1 से n तक सभी पूर्णांकों का योग चाहिए।
चर "एन" को उपयोगकर्ता से एक यादृच्छिक संख्या सौंपी जाएगी और "गणना" चर एक-एक करके बढ़ेगा समय एक लूप प्रदर्शन किया है, लेकिन जैसे ही "गणना" चर का मान "एन" से अधिक हो जाता है तो लूप होगा रूक जा।
क्यों उपयोग करें पुनर्संयोजन?
अगर हम पुनरावृत्ति और पुनरावृत्ति के आसपास के तथ्यों की जांच करने के लिए थे, तो हम कई बातों को सच पाएंगे।
- दोनों तरीकों में पुनरावृत्ति शामिल है।
- दोनों तरीकों के लिए एक परीक्षण स्थिति की आवश्यकता होती है, जो इंगित करेगा कि कब रोकना है।
- अगर बाहर निकलने की शर्त नहीं दी गई या मुलाकात नहीं हुई तो दोनों विधियां सैद्धांतिक रूप से हमेशा के लिए निष्पादित हो सकती हैं।
- पुनरावृत्ति का उपयोग करके हल की जा सकने वाली किसी भी समस्या को पुनरावृत्ति और इसके विपरीत का उपयोग करके भी हल किया जा सकता है।
तो हम एक विधि को दूसरे पर चुनना क्यों चाहेंगे? सरल उत्तर दक्षता है। पुनरावृत्ति के साथ, एक प्रोग्रामर कम कोड का उपयोग करके प्राप्त कर सकता है जो अनिवार्य रूप से एक ही परिणाम है। कम कोड का मतलब है कि त्रुटियों की संभावना में उल्लेखनीय कमी आई है।
पुनरावृत्ति अधिक मेमोरी का उपयोग करती है और पुनरावृत्ति की तुलना में धीमी है, लेकिन इसमें अंतर्निहित स्टैक (डेटा संरचना) है। पुनरावृत्ति के साथ आपको एक डेटा संरचना (पहिया को अनिवार्य रूप से सुदृढ़ करना) का निर्माण करना होगा, जिससे अतिरिक्त प्रोग्राम के कारण आपके प्रोग्राम को बिना किसी त्रुटि के अधिक संभावना के लिए खुला रखा जा सके।
सम्बंधित: जावा अपवाद: क्या आप उन्हें सही संभाल रहे हैं?
कैसे काम करता है रिकर्सन
रिकर्सियन एक प्रक्रिया को दिया गया नाम है जहां एक फ़ंक्शन बार-बार खुद को कॉल करता है जब तक कि एक विशिष्ट स्थिति पूरी नहीं होती है। यह दोहराव विधि समस्याओं को हल करके उन्हें छोटे, सरल संस्करणों में तोड़ देती है।
प्रत्येक पुनरावर्ती कार्य में दो भाग होते हैं- बेस केस और सामान्य केस।
एक पुनरावर्ती कार्य उदाहरण की मूल संरचना
समारोह(){
//बेस केस
// सामान्य मामला
}
आधार मामला पुनरावर्ती फ़ंक्शन का अनुभाग है जो समस्या को हल करता है। इसलिए, जब भी रिकर्सिव फंक्शन बेस केस में आता है तो प्रोग्राम रिकर्सिव फंक्शन से बाहर निकल जाता है और अपने प्राकृतिक प्रवाह के साथ जारी रहता है।
सामान्य मामला पुनरावर्ती फ़ंक्शन का अनुभाग है जो दोहरावदार है। यह वह जगह है जहाँ फ़ंक्शन स्वयं को कॉल करता है और जहां कार्य का थोक कार्य किया जाता है।
जावा में रिकर्सन का उपयोग करना
कुछ प्रोग्रामिंग भाषाएं केवल पुनरावृत्ति का समर्थन करती हैं, जबकि अन्य केवल पुनरावृत्ति का समर्थन करते हैं। सौभाग्य से, जावा उन भाषाओं में से एक है जो दोहराव वाले तरीकों का समर्थन करती है।
जावा रिकर्सन में उसी तरह से उपयोग किया जाता है जैसे कि किसी अन्य भाषा में इसका उपयोग किया जाता है। कुंजी हमेशा यह सुनिश्चित करने के लिए है कि आपके पुनरावर्ती कार्य में आधार और सामान्य मामला दोनों हैं, इस क्रम में।
आइए अपने शुरुआती सारांश उदाहरण पर वापस जाएं, लक्ष्य है कि सभी पूर्णांकों का योग 1 से n तक मिल जाए, जहां n उपयोगकर्ता द्वारा आपूर्ति की गई पूर्णांक संख्या है।
जावा पुनरावर्तन उदाहरण
// पुनरावर्ती कार्य
int सम (int n) {
//बेस केस
अगर (n <= 1) {
वापसी 1;
}
// सामान्य मामला
अन्य{
वापसी n + सम (n-1);
}
}
उपरोक्त पुनरावर्ती कार्य पूर्णांक "n" लेता है और केवल तभी इसका निष्पादन समाप्त करता है जब n का मान 1 से कम या उसके बराबर होता है।
अगर हम पूर्णांक 5 को ऊपर के प्रोग्राम में पास करते हैं, तो वेरिएबल "n" 5 का मान लेगा। "N" का मान तब आधार मामले में जांचा जाएगा, लेकिन यह देखते हुए कि 5 1 से अधिक है "n" अब सामान्य मामले में पारित हो जाएगा।
इस उदाहरण में, सामान्य मामला चार बार पुनरावर्ती फ़ंक्शन को कॉल करेगा। अंतिम फ़ंक्शन कॉल पर "n" का मान 1 होगा, बेस केस की आवश्यकताओं को प्रभावी ढंग से पूरा करने के परिणामस्वरूप पुनरावर्ती फ़ंक्शन की समाप्ति और 15 लौट आएंगे।
यदि हम "n" के मान को 7 में बदलते हैं, तो पुनरावर्ती फ़ंक्शन अपने आप को छह बार कॉल करेगा और 28 को इसके निष्पादन को समाप्त करने से पहले वापस कर देगा।
अपने लिए कोशिश करना चाहते हैं? आप अपने जावा प्रोग्राम के मुख्य फ़ंक्शन में कोड की निम्न पंक्ति का उपयोग करके ऊपर दिए गए पुनरावर्ती कार्यक्रम को निष्पादित कर सकते हैं।
System.out.println (Sum (7));
जो आपने सीखा
यदि आपने इसे इस पूरे लेख के माध्यम से बनाया है, तो अब आपको प्रोग्रामिंग में उपयोग किए जाने वाले दो दोहराए गए तरीकों की एक बुनियादी समझ है। अब आप पुनरावृत्ति और पुनरावृत्ति के बीच समानता को पहचानते हैं और क्यों एक डेवलपर पुनरावृत्ति पर पुनरावृत्ति का उपयोग करना पसंद करेगा, और जावा में एक पुनरावर्ती फ़ंक्शन का उपयोग कैसे करें।
छवि क्रेडिट:पेक्सल्स
प्रोग्रामर के लिए पुनरावर्तन की मूल बातें, आवश्यक लेकिन थोड़ा दिमाग झुकने वाला उपकरण जानें।
आगे पढ़िए
- प्रोग्रामिंग
- जावा

कादिशा कीन एक फुल-स्टैक सॉफ्टवेयर डेवलपर और तकनीकी / प्रौद्योगिकी लेखक हैं। वह सबसे जटिल तकनीकी अवधारणाओं में से कुछ को सरल बनाने की विशिष्ट क्षमता है; उत्पादन सामग्री जिसे किसी भी तकनीक नौसिखिए द्वारा आसानी से समझा जा सकता है। वह लेखन के बारे में भावुक है, दिलचस्प सॉफ्टवेयर विकसित कर रहा है, और दुनिया की यात्रा (वृत्तचित्रों के माध्यम से)।
हमारे न्यूज़लेटर की सदस्यता
टेक टिप्स, रिव्यू, फ्री ईबुक और एक्सक्लूसिव डील्स के लिए हमारे न्यूज़लेटर से जुड़ें!
एक और क़दम…!
कृपया हमें आपके द्वारा भेजे गए ईमेल में अपने ईमेल पते की पुष्टि करें।