Recursion क्या है? (What is Recursion In C In Hindi)

हेलो फ्रेंड्स आज के इस आर्टिकल में हम Recursion के बारे में बात करने वाले है | आज हम जानेंगे कि रिकर्शन क्या है? ( What is Recursion In C In Hindi ) और  सी लैंग्वेज में इसका क्या उपयोग है?

मगर Recursion के बारे में अच्छे से जानने के लिए आपको निचे दिए गए इन टॉपिक के बारे में पहले से पता होना जरूरी है | 

यदि आपको ये टॉपिक नहीं पता तो इसके बारे में आप एक बार जरूर पढ़े और उसके बाद इस आर्टिकल को पढ़े | 

तो चलिए बिना समय गवाए जानते है कि Recursion Kya Hai?

Recursion क्या है? (What is Recursion In C In Hindi)
Recursion क्या है? (What is Recursion In C In Hindi)

रिकर्शन क्या है? ( What is Recursion In C In Hindi )

जैसे कि आपको पता होगा कि सी लैंग्वेज में कोई भी फंक्शन किसी भी फंक्शन को कॉल कर सकता है | तो कोई फंक्शन खुद को भी कॉल कर सकते है और जब कोई फंक्शन खुद को ही कॉल करता है तो इसे ही Recursion कहते है | ऐसे फंक्शन recursive function कहलाते है और ऐसा कॉल recursive calls कहलाता है | 

एक recursive function अपने आपको चाहे तो कितनी बार भी कॉल कर सकता है मगर इसका exit condition डिफाइन करना जरूरी होता है | यदि हम इसका exit condition डिफाइन नहीं करेंगे तो ये एक infinite लूप बन जायेगा और प्रोग्राम कभी end नहीं होगा | 

Recursive functions कई सारे mathematical problems, जैसे किसी नंबर का factorial कैलकुलेट करने, Fibonacci series जनरेटर करने आदि में काफी उपयोगी होता है | 

Recursion की मदद से हम हर तरह के प्रॉब्लम को सॉल्व नहीं करते | इसकी मदद से हम केवल ऐसे प्रॉब्लम को सॉल्व करते है जिनको हम subtasks में बाँट सकते हो | 

For Example – Recursion का उपयोग sorting, searching, traversal problems, जैसे प्रॉब्लम को सॉल्व करने के लिए किया जाता है | 

जब हम किसी प्रॉब्लम को Recursion की मदद से सॉल्व करते है तो iterative कोड की तुलना में हमे काफी कम कोड लिखना पड़ता है हालाँकि इसके कोड को समझना थोड़ा सा मुश्किल होता है | 

रिकर्शन की मदद से सॉल्व किये जाने वाले सभी प्रॉब्लम को हम लूप की मदद से आसानी से सॉल्व कर सकते है मगर लूप की मदद से सॉल्व होने वाले सभी प्रोब्लेम्स हम रिकर्शन की मदद से सॉल्व नहीं कर सकते | 

साधारणतः जब हम किसी प्रॉब्लम को iterative method मतलब लूप की मदद से सॉल्व करते है तो यह ज्यादा efficient होता है बजाय उस प्रॉब्लम को रिकर्शन के सोल्व करने के | 

हालंकि रिकर्शन कुछः प्रॉब्लम जैसे Towers of Hanoi (TOH), Inorder/Preorder/ Postorder Tree Traversals, DFS of Graph आदि को सॉल्व करने में ज्यादा Efficient होता है | 

Syntax of Recursion 

void recursion() 
{
   recursion();    /* function calls itself */
}
int main() 
{
   recursion();
}

Example Program of Recursion

#include <stdio.h>
int sum(int n);

void main()
 {
    int number, result;

    printf("Enter a positive integer: ");
    scanf("%d", &number);

    result = sum(number);

    printf("sum = %d", result);
}

int sum(int n) 
{
    if (n != 0)
        // sum() function calls itself
        return n + sum(n-1); 
    else
        return n;
}

Output -:

Enter a positive integer:3
sum = 6

इस प्रोग्राम में हमने नेचुरल नंबर का जोड़ निकालने वाला प्रोग्राम बनाया है जिसमे sum() फंक्शन खुद को कई बार कॉल करता है और यही रिकर्शन है | इस प्रोग्राम में sum() एक रिकर्सिव फंक्शन है | 

रिकर्शन के बारे में और अच्छे से जानने के लिए आप इस वीडियो को एक बार देख सकते है |  

Advantages of Recursion

  1. रिकर्शन का कोड लिखना आसान होता है 
  2. कोड को काफी कम लाइन में लिख सकते है | 
  3. रिकर्सिव प्रवृत्ति के प्रॉब्लम को आसानी से सॉल्व किया जा सकता है | 
  4. फंक्शन के अनावश्यक कॉल को कम करता है 
  5. Towers of Hanoi (TOH), डाटा स्ट्रक्चर के प्रॉब्लम को रिकर्शन की मदद से सॉल्व करना काफी उपयोगी होता है | 

Disadvantages of Recursion 

  1. रिकर्सिव फंक्शन, नॉन रिकर्सिव फंक्शन की तुलना में काफी स्लो होते है | 
  2. रिकर्सिव फंक्शन मेमोरी में ज्यादा स्पेस लेता है | 
  3. कोड को एनालाइज करना और समझना थोड़ा मुश्किल हो जाता है | 
  4. यह मेमोरी बचत के हिसाब से ज्यादा efficient नहीं होता | 
  5. प्रोग्राम रन टाइम बढ़ जाता है | 

निष्कर्ष

दोस्तों आशा करता हु कि आज के इस आर्टिकल को पढ़ने के बाद आपको रिकर्शन क्या है? ( What is Recursion In C In Hindi ) और सी लैंग्वेज में इसका क्या उपयोग है? से संबंधित सभी जानकारी मिल गई होगी और आपको और कही इसके बारे में सर्च करना नहीं पड़ेगा |

अगर आप सी लैंग्वेज का Complete Tutorial चाहते है तो मेरे इस पोस्ट C Language Tutorial In Hindi को देखे यहाँ आपको C Programming Language के सभी टॉपिक्स step by step मिल जाएगी |

दोस्तों आशा करता हु कि आपको ये पोस्ट पसंद आई होगी और आपको रिकर्शन क्या है? ( What is Recursion In C In Hindi ) के बारे में काफी जानकरी हुई होगी |

अगर आपको ये पोस्ट पसंद आया है तो इस पोस्ट को अपने अपने दोस्तों को शेयर करना न भूलिएगा ताकि उनको भी ये जानकारी प्राप्त हो सके |

अगर आपको अभी भी Recursion क्या है? ( What is Recursion In C In Hindi ) से संबंधित कोई भी प्रश्न या Doubt है तो आप जरूर बताये मैं आपके सभी सवालों का जवाब दूँगा और ज्यादा जानकारी के लिए आप हमसे संपर्क कर सकते है |

एसी ही नया टेक्नोलॉजी ,Programming Language, Coding , C Language, C++, Python Course , Java Tutorial से रिलेटेड जानकारियाँ पाने के लिए हमारे इस वेबसाइट को सब्सक्राइब कर दीजिए | जिससे हमारी आने वाली नई पोस्ट की सूचनाएं जल्दी प्राप्त होगी |

Jeetu Sahu is A Web Developer | Computer Engineer | Passionate about Coding, Competitive Programming and Blogging

Leave a Comment