पुनरावृत्ति - जैसा कि हम सभी जानते हैं - उन समस्याओं में से एक है - कि आपके सिर को चारों ओर लपेटने से ऐसा लगता है कि आपके प्रोग्रामिंग यात्रा में "मील का पत्थर" प्राप्त करना है।
लेकिन जब यह वास्तव में वास्तविक दुनिया की समस्याओं में इसका उपयोग करने की बात आती है - पुनरावृत्ति के यांत्रिकी जानना पर्याप्त नहीं है - किसी को उन समस्याओं की प्रकृति को भी समझना चाहिए जहां पुनरावृत्ति सबसे उपयुक्त समाधान है।
तो मेरा सवाल ये है...
- "समस्या पैटर्न" क्या हैं जो पुनरावृत्ति के समाधान के लिए कहते हैं
- "पुनरावृत्ति और जीत" रणनीति का एक रूप है या "कोड पुन: उपयोग" का एक रूप है - या, अपने आप में एक डिजाइन पैटर्न है
- क्या आप हमें एक वास्तविक विश्व समस्या का उदाहरण दे सकते हैं जहाँ पुनरावृत्ति तत्काल समाधान के रूप में ध्यान में आती है
-- अपडेट करें --
बहुत सारे उत्तर "वास्तविक समस्याओं" का उल्लेख कर रहे हैं, जैसे कि पेड़ की कटाई, गुटबाजी, आदि। मैं "वास्तविक वास्तविक समस्याओं" को प्राथमिकता दूंगा - मुझे आपको एक उदाहरण देना चाहिए ...
हमारे पास पाठ का एक बड़ा चक था (लगभग 30 एमबी पाठ एक लिंक की गई सूची के रूप में structs
), और हमें पूर्ण पाठ खोज के लिए इसका एक सूचकांक बनाने की आवश्यकता थी। हमें मेमोरी में पूरे इंडेक्स को बनाए रखने और हर 10 मिनट में टेक्स्ट को फिर से इंडेक्स करने की आवश्यकता थी।
हर 10 मिनट में हम पूरे टेक्स्ट की तुलना करेंगे (दो लिंक्ड लिस्ट, लाइन बाय लाइन) टेक्स्ट के एक नए जेनरेट किए गए चंक के साथ - यह देखने के लिए कि क्या लाइन बदली गई थी - और फिर हम केवल उस लाइन को फिर से इंडेक्स करेंगे - इस तरह हम ENTIRE पाठ को फिर से अनुक्रमित करने से बच सकते हैं। याद रखें - हमें दो 30 एमबी से जुड़ी सूचियों के बीच अंतर बिंदुओं को खोजने की आवश्यकता है।
मेरे एक सहकर्मी ने एक शानदार कार्यक्रम पेश किया जिसमें लाइनों की तुलना करने के लिए भारी पुनरावृत्ति का उपयोग किया गया - और फिर उन पदों को इकट्ठा किया जहां चक एक सरणी में भिन्न थे - हाँ मुझे पता है कि यह अजीब लगता है - यहाँ पुनरावृत्ति कैसे मदद कर सकती है - यह किया।
मुद्दा यह है कि वह कैसे देख सकता है कि पुनरावृत्ति के भारी उपयोग से इस समस्या को स्मार्ट तरीके से हल किया जा सकता है?