tail-recursion पर टैग किए गए जवाब

पूंछ पुनरावृत्ति एक पुनरावर्ती रणनीति है जिसमें एक फ़ंक्शन कुछ मात्रा में काम करता है, फिर खुद को आमंत्रित करता है। "पूंछ" इस तथ्य को संदर्भित करता है कि पुनरावृत्ति फ़ंक्शन के बहुत अंत में है। कई - विशेष रूप से कार्यात्मक - प्रोग्रामिंग भाषा संकलक इस प्रकार के कॉल को पुनरावृति में बदल सकते हैं, समर्थित भाषाओं में पूंछ पुनरावृत्ति का उपयोग स्टैक ओवरफ्लो के डर के बिना किया जा सकता है, कॉल की संख्या की परवाह किए बिना।


10
पूंछ कॉल अनुकूलन क्या है?
बहुत सरलता से, टेल-कॉल ऑप्टिमाइज़ेशन क्या है? अधिक विशेष रूप से, कुछ छोटे कोड स्निपेट क्या हैं, जहां इसे लागू किया जा सकता है, और क्यों नहीं, स्पष्टीकरण के साथ क्यों?

19
मैं स्काला में एक लूप से कैसे टूट सकता हूं?
मैं एक पाश कैसे तोड़ूं? var largest=0 for(i<-999 to 1 by -1) { for (j<-i to 1 by -1) { val product=i*j if (largest>product) // I want to break out here else if(product.toString.equals(product.toString.reverse)) largest=largest max product } } मैं पूंछ पुनरावृत्ति में छोरों के लिए नेस्टेड कैसे मोड़ूं? FOSDEM 2009 …

20
पुनरावृत्ति को समझना [बंद]
जैसा कि वर्तमान में खड़ा है, यह प्रश्न हमारे प्रश्नोत्तर प्रारूप के लिए एक अच्छा फिट नहीं है। हम तथ्यों, संदर्भों या विशेषज्ञता के आधार पर उत्तर दिए जाने की अपेक्षा करते हैं, लेकिन इस सवाल पर बहस, बहस, मतदान या विस्तारित चर्चा की संभावना होगी। यदि आपको लगता है …

6
क्या पायथन पूंछ पुनरावृत्ति का अनुकूलन करता है?
मेरे पास निम्नलिखित कोड का कोड है जो निम्नलिखित त्रुटि के साथ विफल रहता है: RuntimeError: अधिकतम पुनरावर्तन गहराई पार हो गई मैंने पूंछ पुनरावृत्ति अनुकूलन (TCO) के लिए अनुमति देने के लिए इसे फिर से लिखने का प्रयास किया। मेरा मानना ​​है कि अगर TCO हुआ होता तो यह …

5
जो, यदि कोई हो, C ++ कंपाइलर पूंछ-पुनरावृत्ति अनुकूलन करते हैं?
यह मुझे लगता है कि यह सी और सी ++ दोनों में पूंछ-पुनरावृत्ति अनुकूलन करने के लिए पूरी तरह से अच्छी तरह से काम करेगा, फिर भी डिबगिंग के दौरान मुझे कभी भी एक फ्रेम स्टैक नहीं दिखता है जो इस अनुकूलन को इंगित करता है। यह अच्छा है, क्योंकि …

8
पूंछ पुनरावृत्ति वास्तव में कैसे काम करती है?
मैं लगभग समझता हूं कि पूंछ पुनरावृत्ति कैसे काम करती है और इसके और एक सामान्य पुनरावृत्ति के बीच अंतर। मैं केवल यह नहीं समझता कि इसके रिटर्न एड्रेस को याद रखने के लिए स्टैक की आवश्यकता क्यों नहीं है। // tail recursion int fac_times (int n, int acc) { …

6
.NET / C # टेल-कॉल पुनरावृत्ति के लिए ऑप्टिमाइज़ क्यों नहीं करता है?
मुझे यह सवाल मिला कि कौन सी भाषाएं पूंछ पुनरावृत्ति का अनुकूलन करती हैं। क्यों C # जब भी संभव हो, पूंछ पुनरावृत्ति का अनुकूलन नहीं करता है? एक ठोस मामले के लिए, यह विधि लूप में क्यों अनुकूलित नहीं है ( विजुअल स्टूडियो 2008 32-बिट, यदि वह मायने रखता …

5
क्या JVM टेल कॉल ऑप्टिमाइज़ेशन को रोकता है?
मैंने इस उद्धरण को इस प्रश्न पर देखा: एक अच्छी कार्यात्मक भाषा क्या है जिस पर वेब सेवा का निर्माण किया जाता है? विशेष रूप से स्काला स्व-पुनरावर्ती कार्यों को छोड़कर पूंछ-कॉल उन्मूलन का समर्थन नहीं करता है, जो आपके द्वारा की जाने वाली रचना के प्रकार को सीमित करता …

5
क्या रूबी टेल कॉल ऑप्टिमाइज़ेशन करती है?
कार्यात्मक भाषा बहुत सारी समस्याओं को हल करने के लिए पुनरावृत्ति का उपयोग करती है, और इसलिए उनमें से कई टेल कॉल ऑप्टिमाइज़ेशन (TCO) करते हैं। TCO दूसरे फ़ंक्शन से एक फ़ंक्शन को कॉल करता है (या स्वयं, जिस स्थिति में इस सुविधा को टेल रिसर्शन एलिमिनेशन के रूप में …

6
क्या किसी भी जावास्क्रिप्ट इंजन टेल कॉल (TCO) को अनुकूलित किया गया है?
मेरे पास एक पूंछ पुनरावर्ती pathfinding एल्गोरिथ्म है जिसे मैंने जावास्क्रिप्ट में लागू किया है और जानना चाहूंगा कि क्या कोई (सभी?) ब्राउज़र संभवतः स्टैक ओवरफ़्लो अपवाद प्राप्त करेंगे।

4
क्या हास्केल में पूंछ-पुनरावर्ती अनुकूलन है?
मैंने आज यूनिक्स में "समय" कमांड की खोज की और सोचा कि मैं इसका उपयोग हास्केल में पूंछ-पुनरावर्ती और सामान्य पुनरावर्ती कार्यों के बीच रनटाइम्स में अंतर की जांच करने के लिए करूंगा। मैंने निम्नलिखित कार्य लिखे: --tail recursive fac :: (Integral a) => a -> a fac x = …

1
स्काला कैट्स / fs2 में स्टैक सेफ्टी के बारे में क्या कारण है?
यहाँ fs2 के लिए प्रलेखन से कोड का एक टुकड़ा है । फ़ंक्शन goपुनरावर्ती है। सवाल यह है कि हमें कैसे पता चलेगा कि यह स्टैक सुरक्षित है और यदि कोई फ़ंक्शन स्टैक सुरक्षित है तो इसका कारण क्या है? import fs2._ // import fs2._ def tk[F[_],O](n: Long): Pipe[F,O,O] = …
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.