पूंछ रिकर्सन को एक संचयक की आवश्यकता नहीं है। रिक्यूर्सिव कॉल श्रृंखला के माध्यम से आंशिक परिणाम को संप्रेषित करने के तरीके के रूप में समेकनकर्ताओं का उपयोग पूंछ के प्रत्येक स्तर पर अतिरिक्त स्थान की आवश्यकता के बिना किया जाता है। उदाहरण के लिए, कैननिकल पूंछ रिकर्सिव फैक्टोरियल फ़ंक्शन को अब तक बनाए गए आंशिक उत्पाद को प्रसारित करने के लिए एक संचयक की आवश्यकता होती है। हालांकि, अगर आपको रिकर्सिव कॉल से किसी भी जानकारी को अपने सबकॉल में संवाद करने की आवश्यकता नहीं है, तो जमाकर्ता आवश्यक नहीं है।
आपके द्वारा प्रदान किया गया कार्य वास्तव में पूंछ रिकर्सिव है, लेकिन इसे एक संचयक की आवश्यकता या उपयोग करने की आवश्यकता नहीं है। किसी सूची में किसी तत्व की खोज करते समय, रिकर्सन को यह याद रखने की आवश्यकता नहीं है कि अब तक जिन सभी तत्वों को देखा गया है, वे उस विशेष तत्व के बराबर नहीं हैं जो खोजा जा रहा है। यह सिर्फ यह जानने की जरूरत है कि किस तत्व को देखना है और खोज करने की क्या सूची है।
आशा है कि इससे मदद मिलती है!
हाँ, यह पर्याप्त है – m09
पूंछ रिकर्स सख्त भाषाओं में सबसे अच्छा है, लेकिन हास्केल में, चीजें थोड़ा अलग हैं। [यह सवाल] (http://stackoverflow.com/questions/13042353/does-haskell-have-tail-recursive-optimization) इस मुद्दे पर अच्छी जानकारी प्राप्त करता है। – AndrewC