Stack Data Structure क्या है? और इसके operations कौन – कौन से है?

आज के इस समय में Data Structure जो है वह हर programmer के लिए एक बहुत ही ज्यादा महत्वपूर्ण विषय है। जब भी हमें किसी तरह से data को स्टोर और मैनेज करने की आवश्यकता पड़ती है, तो उस समय हम कई अलग-अलग प्रकार क्र data structures का उपयोग करते हैं। जिनमे से Stack data Structure एक ऐसा linear data structure है, जो Last in First Out (LIFO) के सिद्धांतों पर काम करता है।

तो आज के इस blog post में हम Stack Data Structure की पूरी जानकारी हिंदी में जानेंगे। साथ ही, stack के कुछ operations, implementation techniques और साथ ही इसके real-life use को भी समझेंगे। अगर आप भी Stack से सम्बंधित जानकारी को जानना चाहते है तो इस ब्लॉग पोस्ट को पूरा जरूर पड़े।

What is Stack Data Structure in Hindi – स्टैक डाटा स्ट्रक्चर क्या होता है?

Stack data structure आज के समय में काफी ज्यादा उपयोग होने वाला डाटा स्ट्रक्चर है इसलिए स्टैक एक बहुत ही ज्यादा महत्वपूर्ण (important) data structure बन गया है। इसका programming और Computer Science आदि जैसी जगहों पर काफी उपयोग (use) होता है। यह जो डाटा स्ट्रक्चर है वह data को एक बेहतर तरीके से organize और efficiently manage करने में सहायता करता है।

Stack Data Structure
Stack Data Structure

स्टैक एक तरह का linear data structure होता है, लेकिन इसमें हम डाटा (data) को सिर्फ एक ही तरफ (side) यानि Top end से ही add (Push) और remove (Pop) कर सकते है क्योकि इसमें सिर्फ एक ही end देखने को मिलता है।

उदहारण: अगर देखा जाए तो इसकी तुलना हम cafeteria में रखी हुई plates के स्टैक से कर सकते है, जिसमे आप देख सकते है की अगर हम इसमें नए plates जोड़ते (add) करते है तो वह हमेशा सबसे ऊपर add होते है, और जब भी हम किसी plate को remove करते है तो हमेशा सबसे ऊपर वाली plate ही निकलती है।

स्टैक हमेशा LIFO के सिद्धांतो (principle) को ही follow करता है जिसका पूरा नाम “Last in First Out” होता है, इसका मतलब यह होता है की जो element सबसे पीछे (last) में add होता है, तो सबसे पहले remove भी वही element होता है।

इसका उपयोग ज्यादातर function calls, expression processing, backtracking, और memory management में किया जाता है। इनके अलाबा भी यह algorithms, system programming, और compiler design जैसी जगहों पर भी बहुत ज्यादा महत्वपूर्ण भूमिका निभाता है।

Implementation of Stack Data Structure in Hindi

Stack Data Structure का implementation दो तरीको से किया जा सकता है:

  1. Implementation of Stack using Array
  2. Implementation of Stack Using Linked List

1. Implementation of Stack using Array

जब कभी भी Static implementation में Stack Data Structure को create किया जाता है तो उस समय उसमे Array का उपयोग किया जाता है अगर हमें स्टैक को create करना है तो सबसे ज्यादा आसान और सबसे ज्यादा उपयोग होने वाला यही तरीका है।

दूसरे शब्दों में कहे तो Static implementation जो है उसमे स्टैक को हमेशा एक fixed-size array के रूप में implement किया जाता है। इसका मतलब यह होता है की इसमें स्टैक का जो साइज size होता है वह पहले से ही define किया जाता है यानि इसे बाद में program execution के समय बदला (change) नहीं किया जा सकता है।

Array-based जो स्टैक होते है उसमे operations O (1) टाइम (time) complexity में perform होते है, क्योकि इनमें जो elements होते है उनको हमेशा index के जरिए (through) directly access किया जाता है।

ये जो तरीका होता है उसमे Push operation तभी possible हो पाता है जब stack पूरी तरह भरा (full) हुआ नहीं होता है, यानि अगर स्टैक पूरी तरह भरा हो और आप किसी नए element को insert करना चाहे तो, वो element add नहीं होगा और आपको एक Stack Overflow error देखने को मिलता है।

Implementation of Stack Using Array
Implementation of Stack Using Array

ठीक उसी तरह, Pop operation उसी समय possible हो पाता है जब स्टैक पूरी तरह खाली (empty) नहीं होना चाहिए, अगर खली होगा तो Stack Underflow error दिखाई देगा। Static stack में जो memory होती है वह pre-allocated होती है, जिसकी वजह से अगर आप required size से अनुशार छोटे डाटा को store करते है तो उसके कारण unused space होता है वह waste हो सकता है।

2. Implementation of Stack using Linked List

अगर हमें dynamic implementation के जरिए Stack Data Structure create करना है तो उसके लिए हमें linked list का उपयोग करना होता है। यह जो तरीका है उसमें हर स्टैक का element एक नोड होता है, जिसमे दो पार्ट देखने को मिलते है नंबर एक “Data” और दूसरा “Pointer”.

Implementation of Stack Using Linked List
Implementation of Stack Using Linked List

Dynamic implementation में जो स्टैक का साइज होता है वह पहले से ही predefined नहीं होता है, बल्कि इसमें linked list का उपयोग होने की वजह से यह dynamically grow और shrink कर सकता है।

Dynamic stack का सबसे बड़ा फायदा यह होता है की इसको कभी भी किसी predefined साइज़ की आवश्यकता नहीं होती है, पर अगर इसमें पॉइंटर को स्टोर करते है तो उसमे काफी ज्यादा फालतू मेमोरी का उपयोग होता है।

What is top in stack in Hindi? – स्टैक में Top क्या होता है?

जब कभी भी Stack data Structure को array या linked list के रूप में implement करते है, तो उस समय जो भी सबसे आखरी में element है उसको ही top कहा जाता है। स्टैक जो है उसमे elements का insertion और deletion हमेशा ऐरे या फिर लिंक्ड लिस्ट के आखिर में ही किया जाता है।

Use of Top in Hindi- Top का उपयोग

  • अगर हमें Stack की underflow और overflow की स्थितियाँ का पता लगाना है तो उस के लिए top का उपयोग किया जाता है।
  • शुरूआत यानि सबसे पहले top को 1 से दर्शाया जाता है, जो हमेशा यह प्रदर्शित करता है की यह स्टैक खाली है।
  • जब भी किसी नए element को insert किया जाता है, तो उसके बाद top increase जो जाता है और फिर आने वाले नए element को point करता है।
  • और जब कभी भी किसी element को delete किया जाता है तो उसके बाद top decrease होने लगता है, और फिर उसके बाद stack का जो साइज होता है वह कम हो जाता है।

Meaning of top key value in Hindi

  1. Top = -1 → इसका यह मतलब Stack empty है।
  2. Top = 0 → ये दर्शाता है की Stack में केबल एक ही element है।
  3. Top = (Max Size – 1) → यह बताता है की Stack पूरी तरह भरा हुआ है, और इसमें नए elements को add नहीं किया जा सकता।

Operations of Stack Data Structure in Hindi

Stack Data Structure जो है वहमें निम्नलिखित नीचे दिए गए operations perform किए जाते है:

  • Push Operation: Stack में जो नए element insert करने की प्रक्रिया होती है उसे ही Push कहते हैं। जब कभी भी इसमें कोई नया element add किया जाता है, तो उसको हमेशा top position पर रखा जाता है।
  • Pop Operation: जब भी Stack से top element को remove किया जाता है तो उस प्रक्रिया को ही Pop कहा जाता है।
  • Peek (Top) Operation: Peek operation का उपयोग करके ही हम stack के top element को बिना उसे remove किए देख सकते हैं। ये जो operation है वह बहुत ज्यादा महत्वपूर्ण होता है, क्योंकि कभी – कभी यह होता है की हमें सिर्फ यह check करना होता है कि stack के top पर कौन सा element उपस्थित है, न कि उसे remove करना।
  • isEmpty Operation: यह operation सिर्फ पता करता है कि stack पूरी तरह खाली है या नहीं।

निष्कर्ष (Conclusion)

Stack data structure एक बहुत ही ज्यादा महत्वपूर्ण डाटा स्ट्रक्चर है, जिसको हमेशा LIFO के principle पर operate किया जाता है। इसका उपयोग function calls, memory management और backtracking आदि जैसे कई सारे महत्वपूर्ण क्षेत्रों में किया जाता है।

अगर आपको Stack Data Structure in Hindi की यह जानकारी पसंद आई हो, तो आप इसे अपने दोस्तों के साथ शेयर जरूर करें और साथ ही अपनी राय को comment में बताएं!

Reference: https://origin.geeksforgeeks.org/introduction-to-stack-data-structure-and-algorithm-tutorials/

Leave a Comment