BCA / B.Tech 9 min read

Algorithm of Stack in Hindi

Algorithm of Stack in Data Structure in Hindi | डाटा स्ट्रक्चर में  स्टैक के एल्गोरिदम हिंदी में  :


  • स्टैक (Stack) एक महत्वपूर्ण डेटा संरचना है, जो LIFO (Last In, First Out) सिद्धांत पर आधारित होती है। इसका अर्थ है कि जो आइटम सबसे बाद में स्टैक में डाला जाता है, वह सबसे पहले निकाला जाता है।
  •  स्टैक के संचालन के लिए कुछ प्रमुख एल्गोरिदम होते हैं, जैसे कि पुश (Push), पॉप (Pop), पीक (Peek), और इज़-एम्प्टी (Is-Empty)। इन ऑपरेशन्स के एल्गोरिदम को विस्तार से समझने के लिए हम प्रत्येक ऑपरेशन के एल्गोरिदम और उनके कार्य को विस्तार से देखेंगे।
  • स्टैक एल्गोरिदम सरल होते हैं लेकिन कई प्रोग्रामिंग समस्याओं को हल करने में बेहद प्रभावी होते हैं। इसमें पुश, पॉप, पीक, और इज़-एम्प्टी जैसे ऑपरेशन्स को आसानी से लागू किया जा सकता है जो स्टैक के संचालन को समझने में मदद करते हैं। 

स्टैक का उपयोग विभिन्न प्रकार की समस्याओं में किया जाता है, जैसे फंक्शन कॉल्स को ट्रैक करना, बैकट्रैकिंग, और डेटा को एक क्रम में प्रबंधित करना।


स्टैक के मुख्य ऑपरेशन्स :

  • पुश ऑपरेशन (Push Operation): स्टैक के शीर्ष पर एक नया तत्व डालना।
  • पॉप ऑपरेशन (Pop Operation): स्टैक के शीर्ष से एक तत्व को निकालना।
  • पीक ऑपरेशन (Peek Operation): स्टैक के शीर्ष पर कौन सा तत्व है, यह देखना बिना उसे हटाए।
  • इज़-एम्प्टी ऑपरेशन (Is-Empty Operation): यह जांच करना कि स्टैक खाली है या नहीं।

1. पुश ऑपरेशन (Push Operation)

पुश ऑपरेशन का उपयोग स्टैक के शीर्ष पर एक नया तत्व जोड़ने के लिए किया जाता है। यह एल्गोरिदम सरल है और केवल कुछ कदमों में कार्य करता है।

एल्गोरिदम:

  • यदि स्टैक पूर्ण है (Stack Overflow), तो एल्गोरिदम स्टैक में नया आइटम नहीं डाल सकता और एक त्रुटि प्रदर्शित करता है।
  • यदि स्टैक में जगह है, तो स्टैक की शीर्ष स्थिति (top) को एक स्थान ऊपर बढ़ाया जाता है।
  • दिए गए तत्व को स्टैक की नई शीर्ष स्थिति में डाला जाता है।

एल्गोरिदम:

पुश(S, x):     // S: स्टैक, x: डालने वाला तत्व
    यदि top ≥ MAX-1 हो
        तब "Stack Overflow" प्रदर्शित करें
    अन्यथा
        top ← top + 1
        S[top] ← x  // स्टैक में तत्व डालें
उदाहरण:
मान लीजिए स्टैक खाली है और आप स्टैक में 10, 20, और 30 को पुश करना चाहते हैं:

पुश(10): स्टैक = [10]
पुश(20): स्टैक = [10, 20]
पुश(30): स्टैक = [10, 20, 30]

2. पॉप ऑपरेशन (Pop Operation)

पॉप ऑपरेशन का उपयोग स्टैक के शीर्ष से एक तत्व निकालने के लिए किया जाता है। यह LIFO सिद्धांत का पालन करता है, यानी सबसे ऊपर का आइटम सबसे पहले निकाला जाता है।


एल्गोरिदम:

  • यदि स्टैक खाली है (Stack Underflow), तो कोई तत्व नहीं निकाला जा सकता और एक त्रुटि प्रदर्शित होती है।
  • यदि स्टैक में तत्व हैं, तो स्टैक की शीर्ष स्थिति से आइटम निकाला जाता है।
  • शीर्ष को एक स्थान नीचे कर दिया जाता है।

एल्गोरिदम:

पॉप(S):     // S: स्टैक
    यदि top = -1 हो
        तब "Stack Underflow" प्रदर्शित करें
    अन्यथा
        आइटम ← S[top]  // शीर्ष तत्व लें
        top ← top - 1
        आइटम लौटाएँ
उदाहरण:
मान लीजिए कि स्टैक = [10, 20, 30], और आप पॉप ऑपरेशन करते हैं:

पॉप(): स्टैक से 30 निकाला जाएगा, अब स्टैक = [10, 20]
पॉप(): स्टैक से 20 निकाला जाएगा, अब स्टैक = [10]

3. पीक ऑपरेशन (Peek Operation)

पीक ऑपरेशन का उपयोग यह देखने के लिए किया जाता है कि स्टैक के शीर्ष पर कौन सा तत्व है, बिना उसे निकाले।

एल्गोरिदम:

  • यदि स्टैक खाली है, तो त्रुटि प्रदर्शित होती है।
  • अन्यथा, शीर्ष पर स्थित तत्व को लौटाया जाता है।

एल्गोरिदम:

पीक(S):     // S: स्टैक
    यदि top = -1 हो
        तब "Stack is Empty" प्रदर्शित करें
    अन्यथा
        S[top] लौटाएँ  // शीर्ष तत्व देखें
उदाहरण:
मान लीजिए स्टैक = [10, 20, 30], और आप पीक ऑपरेशन करते हैं:

पीक(): शीर्ष तत्व 30 होगा।

4. इज़-एम्प्टी ऑपरेशन (Is-Empty Operation)

इज़-एम्प्टी ऑपरेशन का उपयोग यह जांचने के लिए किया जाता है कि स्टैक खाली है या नहीं।

एल्गोरिदम:

  • यदि top = -1 है, तो स्टैक खाली है।
  • अन्यथा, स्टैक में तत्व मौजूद हैं।

एल्गोरिदम:

इज़-एम्प्टी(S):     // S: स्टैक
    यदि top = -1 हो
        तब सत्य (True) लौटाएँ  // स्टैक खाली है
    अन्यथा
        असत्य (False) लौटाएँ  // स्टैक खाली नहीं है

उदाहरण:

  • यदि स्टैक = [], तो इज़-एम्प्टी() परिणाम True देगा।
  • यदि स्टैक = [10, 20], तो इज़-एम्प्टी() परिणाम False देगा।

विस्तृत उदाहरण

नीचे स्टैक के सभी मुख्य ऑपरेशन्स का एक उदाहरण दिया गया है:

मान लीजिए कि हमारे पास एक स्टैक है और हम उसमें निम्नलिखित ऑपरेशन्स कर रहे हैं:

  • पुश(10): स्टैक में 10 जोड़ा जाएगा। अब स्टैक = [10]
  • पुश(20): स्टैक में 20 जोड़ा जाएगा। अब स्टैक = [10, 20]
  • पुश(30): स्टैक में 30 जोड़ा जाएगा। अब स्टैक = [10, 20, 30]
  • पीक(): स्टैक के शीर्ष पर 30 है, तो पीक ऑपरेशन 30 लौटाएगा।
  • पॉप(): स्टैक से 30 निकाला जाएगा। अब स्टैक = [10, 20]
  • इज़-एम्प्टी(): चूँकि स्टैक खाली नहीं है, इज़-एम्प्टी False लौटाएगा।
  • पॉप(): स्टैक से 20 निकाला जाएगा। अब स्टैक = [10]
  • पॉप(): स्टैक से 10 निकाला जाएगा। अब स्टैक = []
  • इज़-एम्प्टी(): अब स्टैक खाली है, इसलिए इज़-एम्प्टी True लौटाएगा।