मैं एक भौतिकी पृष्ठभूमि से आता हूं, और इस प्रकार, बहुत सारे गणित। मैं समस्याओं को अच्छी तरह से पुनरावर्ती / गतिशील प्रोग्रामिंग समाधानों के लिए अनुकूलता के साथ प्रेरण द्वारा समानताएं ढूंढना आसान समझता हूं ।
प्रेरण के प्रमाण में आपके दो भाग हैं:
- आप यह साबित करते हैं कि अगर कुछ iteration N के लिए सही है, तो यह iteration N + 1 के लिए भी सही है
- आप साबित करते हैं कि यह 1 पुनरावृत्ति के लिए सच है
पुनरावर्ती प्रोग्रामिंग / गतिशील प्रोग्रामिंग में:
- आप एक बाहर निकलने की स्थिति की पहचान करते हैं (उदाहरण के लिए, आप 1 पुनरावृत्ति के लिए हार्ड वायर को हल करते हैं)
- आप पुनरावृत्ति N के लिए समाधान की गणना करते हैं
इसलिए, जैसा कि अन्य ने उत्तर दिया है, यह अनुभव और संकेत लेने का विषय है, लेकिन आप मार्गदर्शन करने के लिए अन्य कौशल का फिर से उपयोग कर सकते हैं। उसके बाद, आपको हमेशा उन दो हिस्सों की आवश्यकता होती है जिनका मैंने उल्लेख किया था: यदि आप नहीं करते हैं, तो यह काम नहीं करेगा।
उदाहरण के लिए, एक सेट के सभी क्रमपरिवर्तन उत्पन्न करने के लिए:
- बाहर निकलने की स्थिति: यदि आपके पास केवल एक ही तत्व है, तो उसे वापस कर दें
- पुनरावर्तन: एन आइटम के एक सेट के क्रमपरिवर्तन वे तत्व हैं जिन्हें आप प्रत्येक तत्व को चुनकर प्राप्त करते हैं और तत्व को हटाकर आपके द्वारा प्राप्त किए गए सबसेट के सभी एन -1 सेटों के कई एन -1 सेटों के साथ संयोजन करते हैं।