रिकर्सन एक प्रोग्रामिंग विधि है, जिसमें कोई फ़ंक्शन अपने शरीर में एक या अधिक बार कॉल करता है। आमतौर पर, यह इस फ़ंक्शन कॉल का रिटर्न मान लौटा रहा है। यदि कोई फ़ंक्शन परिभाषा रिकर्सन का अनुसरण करती है, तो हम इस फ़ंक्शन को एक पुनरावर्ती फ़ंक्शन कहते हैं।
एक पुनरावर्ती फ़ंक्शन को प्रोग्राम में उपयोग करने के लिए समाप्त करना पड़ता है। यह समाप्त हो जाता है, यदि प्रत्येक पुनरावर्ती कॉल के साथ समस्या का समाधान छोटा हो जाता है और आधार मामले की ओर बढ़ता है, जहां समस्या को बिना किसी पुनरावर्तन के हल किया जा सकता है। यदि कॉल में आधार मामला पूरा नहीं होता है, तो एक पुनरावर्तन अनंत लूप का कारण बन सकता है।
उदाहरण
निम्न कोड पुनरावर्ती पायथन फ़ंक्शन का उपयोग करके पहले n प्राकृतिक संख्याओं का योग देता है।
def sum_n(n): if n== 0: return 0 else: return n + sum_n(n-1)
यह पहले 100 प्राकृत संख्याओं और प्रथम 500 प्राकृत संख्याओं के योग को प्रिंट करता है
print(sum_n(100)) print(sum_n(500))
आउटपुट
C:/Users/TutorialsPoint1/~.py 5050 125250