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

सी कार्यक्रम में पुनरावर्ती कार्यों के साथ सहायक स्थान?


यहां हम देखेंगे कि कैसे रिकर्सिव फंक्शन कॉल के लिए सहायक स्थान की आवश्यकता होती है। और यह सामान्य फंक्शन कॉल से किस प्रकार भिन्न है?

मान लीजिए कि हमारे पास नीचे जैसा एक कार्य है -

long fact(int n){
   if(n == 0 || n == 1)
      return 1;
   return n * fact(n-1);
}

यह फ़ंक्शन रिकर्सिव फ़ंक्शन है। जब हम इसे लाइक फैक्ट(5) कहते हैं, तो यह स्टैक के अंदर पतों को नीचे की तरह स्टोर करेगा -

fact(5) --->
fact(4) --->
fact(3) --->
fact(2) --->
fact(1)

चूंकि पुनरावर्ती कार्य स्वयं को बार-बार कॉल कर रहे हैं, पतों को स्टैक में जोड़ दिया जाता है। इसलिए यदि फ़ंक्शन को n बार पुनरावर्ती कहा जाता है, तो यह O(n) सहायक स्थान लेगा। लेकिन इसका मतलब यह नहीं है कि यदि एक सामान्य कार्य को n बार कहा जाता है, तो अंतरिक्ष जटिलता O (n) होगी। सामान्य कार्य के लिए जब इसे कहा जाता है, तो पता स्टैक में धकेल दिया जाता है। उसके बाद जब यह पूरा हो जाता है, तो यह स्टैक से एड्रेस को पॉप कर देगा और इनवॉकर फंक्शन में आ जाएगा। फिर दोबारा कॉल करें। तो यह O(1) होगा।


  1. सी प्रोग्राम रिकर्सिव फ़ंक्शन का उपयोग करके संख्याओं की जीसीडी खोजने के लिए

    समस्या C प्रोग्रामिंग भाषा में पुनरावर्ती फ़ंक्शन का उपयोग करके दिए गए दो नंबरों के लिए सबसे बड़ा सामान्य भाजक (GCD) खोजें। समाधान रिकर्सिव फ़ंक्शन का उपयोग करके दिए गए दो नंबरों के लिए सबसे बड़ा सामान्य भाजक (जीसीडी) खोजने का समाधान इस प्रकार है - एल्गोरिदम रिकर्सिव फ़ंक्शन का उपयोग करके दिए गए

  1. बैश शैल फंक्शन ट्यूटोरियल 6 व्यावहारिक उदाहरणों के साथ

    बैश शेल फ़ंक्शन समूह के लिए एकल नाम का उपयोग करके बाद में निष्पादन के लिए कई UNIX / Linux कमांड को समूहबद्ध करने का एक तरीका है। . बैश शेल फ़ंक्शन को नियमित यूनिक्स कमांड की तरह ही निष्पादित किया जा सकता है। शेल फ़ंक्शंस को मौजूदा शेल संदर्भ में उनकी व्याख्या करने के लिए कोई नई प्रक्रिया बनाए बिना न

  1. एक्सेल में डाटाबेस फंक्शंस का उपयोग कैसे करें (उदाहरण के साथ)

    यह आलेख बताता है कि एक्सेल में डेटाबेस फ़ंक्शंस का उपयोग कैसे करें। एक्सेल में 12 डेटाबेस फंक्शन होते हैं। यह आलेख दिखाता है कि उन्हें एक-एक करके कैसे लागू किया जाए। निम्नलिखित चित्र इस लेख के उद्देश्य पर प्रकाश डालता है। बाकी का उपयोग करना सीखने के लिए लेख पर एक नज़र डालें। आप नीचे दिए गए डाउनलो