मैंने हाल ही में कुछ अलग-अलग स्थानों की टिप्पणियों में देखा है, "मैंने स्कूल में रिकर्सन के बारे में सीखा है, लेकिन तब से इसका उपयोग कभी नहीं किया है या इसके बाद इसकी आवश्यकता महसूस नहीं हुई है । " (रिकर्सन प्रोग्रामर के एक निश्चित समूह के बीच "पुस्तक सीखने" का एक लोकप्रिय उदाहरण प्रतीत होता है।)"आवश्यक" प्रभावशाली भाषाओं में रिकर्सन का उपयोग
अच्छा, यह सच है कि जावा और रूबी [1] जैसी अनिवार्य भाषाओं में, हम आम तौर पर पुनरावृत्ति का उपयोग करते हैं और पुनरावर्तन से बचते हैं, कुछ हिस्सों में स्टैक ओवरफ्लो के जोखिम की वजह से, और कुछ हद तक क्योंकि यह शैली उन भाषाओं में सबसे अधिक प्रोग्रामर के लिए उपयोग की जाती है।
अब मुझे पता है कि, सख्ती से बोलते हुए, ऐसी भाषाओं में रिकर्सन के "आवश्यक" उपयोग नहीं हैं: कोई भी किसी भी तरह से पुनरावृत्ति के साथ रिकर्सन को प्रतिस्थापित कर सकता है, भले ही जटिल चीजें कैसे हों। यहां "जरूरी" से, मैं निम्नलिखित के बारे में बात कर रहा हूं:
क्या आप ऐसी भाषाओं में कोड के किसी भी विशेष उदाहरण के बारे में सोच सकते हैं जहां पुनरावृत्ति पुनरावृत्ति से बेहतर था (स्पष्टता, दक्षता या अन्यथा के कारणों के लिए) आपने वैसे भी रिकर्सन का इस्तेमाल किया, और पुनरावृत्ति में परिवर्तित करना एक बड़ा नुकसान हुआ होगा?
उत्तर में कई बार पेड़ चलने वाले पेड़ों का उल्लेख किया गया है: यह आपके विशेष उपयोग के बारे में बिल्कुल सही था जिसने लाइब्रेरी-परिभाषित इटरेटर का उपयोग करने से बेहतर रिकर्सन किया था, क्या यह उपलब्ध था?
[1]: हाँ, मुझे पता है कि ये वस्तु-उन्मुख भाषाएं भी हैं। हालांकि, यह इस प्रश्न के लिए सीधे प्रासंगिक नहीं है।
पोस्ट बॉडी 'जहां पुनरावृत्ति पुनरावृत्ति से बहुत बेहतर था' सुझाव देता है कि आप जानते हैं कि शीर्षक संदिग्ध है: रिकर्सन के * आवश्यक * उपयोग नहीं हैं। – AakashM
वास्तव में, शीर्षक सही नहीं है: मैंने यह दिखाने के लिए अभी प्रश्न को अद्यतन किया है कि मैं इसे समझता हूं। मैंने इसमें कुछ विचार किया, और एक बेहतर शब्द नहीं मिला जो उचित रूप से प्रश्न की भावना को कैप्चर करता है। एक सुझाव देने के लिए स्वतंत्र महसूस करें। –
रिकर्सन लोगों को स्टैक ओवरफ्लो में लाता है ... –