कभी-कभी साक्षात्कार में, मैं किसी समस्या को हल करने के लिए पुनरावृत्ति का उपयोग कर सकता हूं (जैसे कि 1
एक अनंत सटीक पूर्णांक में जोड़ना ), या जब समस्या स्वयं को पुनरावृत्ति का उपयोग करने के लिए उपयुक्त प्रस्तुत करती है। कभी-कभी, यह केवल समस्या-समाधान के लिए पुनरावर्तन का उपयोग करने के कारण हो सकता है, इसलिए बहुत अधिक सोचने के बिना, समस्या को हल करने के लिए पुनरावृत्ति का उपयोग किया जाता है।
हालांकि, इससे पहले कि आप यह तय कर सकें कि समस्या को हल करने के लिए पुनरावृत्ति का उपयोग करना उचित है या नहीं?
कुछ विचार जो मेरे पास थे:
यदि हम हर बार रुके हुए डेटा पर पुनरावर्तन का उपयोग करते हैं, तो ऐसा लगता है कि यह पुनरावर्तन का उपयोग करने में कोई समस्या नहीं है, क्योंकि सभी डेटा जो 16GB RAM, या यहां तक कि 8TB हार्ड ड्राइव में फिट हो सकते हैं, उन्हें पुनर्संयोजन द्वारा नियंत्रित किया जा सकता है, जो 42 के स्तर तक गहरा है। (इसलिए कोई स्टैक ओवरफ्लो नहीं है (मुझे लगता है कि कुछ वातावरण में, स्टैक 4000 के स्तर तक गहरा हो सकता है, 42 से अधिक हो सकता है, लेकिन साथ ही, यह इस बात पर भी निर्भर करता है कि आपके पास कितने स्थानीय चर हैं, प्रत्येक कॉल स्टैक के रूप में, अधिक मेमोरी पर कब्जा है यदि कई स्थानीय चर हैं, और यह मेमोरी का आकार है, न कि स्तर, जो स्टैक ओवरफ्लो को निर्धारित करता है))।
यदि आप शुद्ध पुनरावृत्ति का उपयोग करके फाइबोनैचि संख्याओं की गणना करते हैं, तो आपको वास्तव में समय की जटिलता के बारे में चिंता करना होगा, जब तक कि आप मध्यवर्ती परिणामों को कैश नहीं करते हैं।
और कैसे 1
एक अनंत सटीक पूर्णांक में जोड़ने के बारे में ? शायद यह बहस का मुद्दा है, क्या आप उन संख्याओं के साथ काम करेंगे जो 3000 अंकों की लंबी या 4000 अंकों की लंबी हैं, इतनी बड़ी कि यह एक स्टैक ओवरफ्लो का कारण बन सकती है? मैंने इसके बारे में नहीं सोचा था, लेकिन शायद इसका जवाब नहीं है, हमें पुनरावृत्ति का उपयोग नहीं करना चाहिए, लेकिन सिर्फ एक सादे लूप का उपयोग करना चाहिए, क्योंकि क्या होगा यदि कुछ एप्लिकेशन में, संख्या को 4000 अंकों के लंबे होने की आवश्यकता है, कुछ के लिए जाँच करें संख्या के गुण, जैसे कि संख्या प्रधान है या नहीं।
अंतिम प्रश्न यह है: किसी समस्या को हल करने के लिए पुनरावर्तन का उपयोग करने का निर्णय लेने से पहले क्या विचार हैं?
1
अनंत सटीक पूर्णांक में जोड़ने के बारे में क्या ? आप कह सकते हैं, हाँ, वे एक छोटे समस्याओं को कम है, लेकिन शुद्ध प्रत्यावर्तन इसके लिए उपयुक्त नहीं है