टेल-कॉल ऑप्टिमाइजेशन टेल रिकर्सन को रैकेट में विशेष दर्जा प्राप्त है क्योंकि कंपाइलर टेल कॉल्स को नोटिस करता है और उन्हें ऑप्टिमाइज़ करता है। आम तौर पर, रिकर्सिव कॉल सहित किसी फ़ंक्शन के लिए प्रत्येक कॉल, तर्कों के एक और सेट को मेमोरी के एक ब्लॉक में सहेजा जाता है जिसे कॉल स्टैक कहा जाता है।
क्या टेल एक रिकर्सन है?
टेल रिकर्सन क्या है? एक रिकर्सिव फंक्शन टेल रिकर्सिव होता है जब रिकर्सिव कॉल फंक्शन द्वारा निष्पादित आखिरी चीज होती है। उदाहरण के लिए निम्नलिखित C++ फंक्शन प्रिंट टेल रिकर्सिव है।
क्या OCaml टेल रिकर्सिव है?
OCaml टेल रिकर्सन
OCaml जैसी कार्यात्मक भाषाएं पुनरावर्ती कार्यों पर बहुत अधिक निर्भर करती हैं हालांकि, इस तरह के कार्यों से खपत पर मेमोरी हो सकती है या बड़े डेटासेट को संभालते समय, अतिप्रवाह ढेर करने के लिए।ऐसे मामलों में टेल रिकर्सन अनुकूलन का एक महत्वपूर्ण स्रोत है।
पूंछ पुनरावर्ती पुनरावृत्त है?
पूंछ पुनरावर्ती विधि पुनरावृत्ति प्रक्रिया निर्दिष्ट करने का एक तरीका है। पुनरावृत्ति इतनी सामान्य है कि अधिकांश प्रोग्रामिंग भाषाएं इसे निर्दिष्ट करने के लिए विशेष संरचना प्रदान करती हैं, जिन्हें लूप के रूप में जाना जाता है।
क्या क्विकसॉर्ट टेल रिकर्सिव है?
ए. TAIL- RECURSIVE-QUICKSORT वही करता है जो QUICKSORT करता है; इसलिए यह सही ढंग से छांटता है। QUICKSORT और TAIL-RECURSIVE-QUICKSORT एक ही विभाजन करते हैं, और फिर प्रत्येक खुद को तर्क A, p, q - 1 के साथ कॉल करता है। QUICKSORT फिर खुद को फिर से कॉल करता है, तर्क A, q + 1, r के साथ।