Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में रिकर्सन और बैकट्रैकिंग क्या है?

पुनरावृत्ति

रिकर्सन समस्याओं को विभाजित करने और हल करने में उपयोगी है। प्रत्येक पुनरावर्ती कॉल स्वयं अन्य पुनरावर्ती कॉलों को बंद कर देती है। एक पुनरावर्ती फ़ंक्शन के केंद्र में दो प्रकार के मामले होते हैं:आधार मामले, जो पुनरावृत्ति को बताते हैं कि कब समाप्त करना है, और पुनरावर्ती मामले जो उस फ़ंक्शन को कॉल करते हैं जिसमें वे हैं। एक साधारण समस्या जो स्वाभाविक रूप से पुनरावर्ती समाधानों का उपयोग करती है वह है फैक्टोरियल की गणना करना। रिकर्सिव फैक्टोरियल एल्गोरिदम में दो मामले होते हैं:बेस केस जब n =0, और रिकर्सिव केस जब n>0।

बैकट्रैकिंग

बैकट्रैकिंग कुछ कम्प्यूटेशनल समस्या के समाधान खोजने के लिए एक सामान्य एल्गोरिथम है, जो समाधानों के लिए क्रमिक रूप से विकल्प बनाता है, और ट्रैक के निरंतर प्रसंस्करण को अस्वीकार करता है जिससे असंभव समाधान हो सकते हैं। बैकट्रैकिंग हमें पिछले विकल्पों को पूर्ववत करने की अनुमति देता है यदि वे गलतियाँ साबित होते हैं।

फैक्टोरियल का एक विशिष्ट कार्यान्वयन निम्नलिखित है -

उदाहरण

def factorial(n):
  #test for a base case
     if n==0:
       return 1
         # make a calculation and a recursive call
         f= n*factorial(n-1)
     print(f)
  return(f)
factorial(4)

यह कोड अंक 1, 2, 4, 24 को प्रिंट करता है। फैक्टोरियल 4 की गणना करने के लिए चार रिकर्सिव कॉल और प्रारंभिक पैरेंट कॉल की आवश्यकता होती है।


  1. पायथन में सीजीआई क्या है?

    सामान्य गेटवे इंटरफ़ेस, या CGI, बाहरी गेटवे प्रोग्राम के लिए HTTP सर्वर जैसे सूचना सर्वर के साथ इंटरफ़ेस करने के लिए एक मानक है। वर्तमान संस्करण CGI/1.1 है और CGI/1.2 प्रगति पर है। वेब ब्राउज़िंग CGI की अवधारणा को समझने के लिए, आइए देखें कि जब हम किसी विशेष वेब पेज या URL को ब्राउज़ करने के लिए हा

  1. फैक्टोरियल खोजने के लिए रिकर्सिव पायथन फंक्शन कैसे लिखें?

    निम्न कोड n =6 और n =15 के लिए भाज्य की गणना करता है उदाहरण def factorial(n):     if n == 1:       return 1     else:       res = n * factorial(n-1)     return res print ("factorial(6) = %d"  %factorial(6)) print ("facto

  1. हम पायथन में पुनरावर्ती कार्य कैसे बना सकते हैं?

    रिकर्सन एक प्रोग्रामिंग विधि है, जिसमें कोई फ़ंक्शन अपने शरीर में एक या अधिक बार कॉल करता है। आमतौर पर, यह इस फ़ंक्शन कॉल का रिटर्न मान लौटा रहा है। यदि कोई फ़ंक्शन परिभाषा रिकर्सन का अनुसरण करती है, तो हम इस फ़ंक्शन को एक पुनरावर्ती फ़ंक्शन कहते हैं। एक पुनरावर्ती फ़ंक्शन को प्रोग्राम में उपयोग करन