BCA / B.Tech 11 min read

Algorithm of Queue in Hindi

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


क्यू के एल्गोरिदम सरल और शक्तिशाली होते हैं। क्यू का मुख्य सिद्धांत FIFO (First In, First Out) होता है, और इसका उपयोग विभिन्न समस्याओं में किया जाता है, जहाँ अनुक्रमिक प्रक्रिया की आवश्यकता होती है। क्यू के ऑपरेशन्स जैसे एनक्यू, डिक्यू, फ्रंट, रियर, इज़-एम्प्टी, 
और इज़-फुल हमें इस डेटा संरचना को प्रभावी रूप से संचालित करने में मदद करते हैं।

क्यू (Queue) एक महत्वपूर्ण डेटा संरचना है, जो FIFO (First In, First Out) सिद्धांत पर आधारित है। इसका अर्थ है कि जो आइटम सबसे पहले क्यू में डाला जाता है, वह सबसे पहले निकाला जाता है। क्यू का उपयोग विभिन्न प्रकार की समस्याओं को 
हल करने के लिए किया जाता है, जैसे कि प्रिंटर की जॉब कतार, सीपीयू प्रक्रिया शेड्यूलिंग, नेटवर्क पैकेट प्रोसेसिंग आदि।

क्यू के लिए मुख्य ऑपरेशन्स हैं:

  • एनक्यू (Enqueue): क्यू के पीछे (rear) एक नया तत्व जोड़ना।
  • डिक्यू (Dequeue): क्यू के सामने (front) से तत्व निकालना।
  • फ्रंट (Front): क्यू के सामने का पहला तत्व देखना।
  • रियर (Rear): क्यू के अंतिम तत्व को देखना।
  • इज़-एम्प्टी (Is-Empty): यह जाँचना कि क्यू खाली है या नहीं।
  • इज़-फुल (Is-Full): यह जाँचना कि क्यू भरा हुआ है या नहीं।

Operation of Queue in Data Structure in Hindi | डाटा स्ट्रक्चर में क्यू  के ऑपरेशन हिंदी में : 

1. एनक्यू ऑपरेशन (Enqueue Operation) :

एनक्यू ऑपरेशन का उपयोग क्यू के पीछे (rear) एक नया तत्व जोड़ने के लिए किया जाता है। यदि क्यू में स्थान उपलब्ध है, तो नया तत्व क्यू में जोड़ा जाता है।

एल्गोरिदम:

  • सबसे पहले, यह जाँचें कि क्यू पूर्ण है या नहीं (overflow)।
  • यदि क्यू पूर्ण है, तो क्यू ओवरफ्लो की त्रुटि दिखाएँ।
  • अन्यथा, रियर को एक स्थान आगे बढ़ाएँ और नया तत्व क्यू के रियर में डालें।

एल्गोरिदम:

एनक्यू(क्यू, आइटम):
    यदि रियर = MAX-1 हो
        तब "क्यू ओवरफ्लो" प्रदर्शित करें
    अन्यथा
        यदि front = -1 हो
            तब front ← 0  // पहली बार जोड़ने पर फ्रंट को 0 सेट करें
        रियर ← रियर + 1
        क्यू[रियर] ← आइटम  // क्यू में नया तत्व जोड़ें

उदाहरण:

मान लीजिए कि एक खाली क्यू में हम निम्नलिखित आइटम जोड़ते हैं:

एनक्यू(10): क्यू = [10]
एनक्यू(20): क्यू = [10, 20]
एनक्यू(30): क्यू = [10, 20, 30]

2. डिक्यू ऑपरेशन (Dequeue Operation) :

डिक्यू ऑपरेशन का उपयोग क्यू के सामने (front) से तत्व निकालने के लिए किया जाता है। यह क्यू के पहले तत्व को निकालता है, क्योंकि क्यू FIFO सिद्धांत का पालन करता है।

एल्गोरिदम:

  • सबसे पहले, यह जाँचें कि क्यू खाली है या नहीं (underflow)।
  • यदि क्यू खाली है, तो क्यू अंडरफ्लो की त्रुटि दिखाएँ।
  • अन्यथा, क्यू के पहले तत्व (front) को निकाला जाता है।
  • यदि फ्रंट और रियर एक जैसे हो जाते हैं, तो क्यू को खाली घोषित करें (फ्रंट और रियर को -1 पर सेट करें)।

एल्गोरिदम:

डिक्यू(क्यू):

    यदि front = -1 हो या front > रियर हो
        तब "क्यू अंडरफ्लो" प्रदर्शित करें
    अन्यथा
        आइटम ← क्यू[फ्रंट]
        front ← front + 1
        यदि front > रियर हो
            तब front ← -1 और रियर ← -1  // क्यू को खाली करें
        आइटम लौटाएँ

उदाहरण:

यदि क्यू = [10, 20, 30] है और हम डिक्यू ऑपरेशन करते हैं:

डिक्यू(): 10 को निकाला जाएगा, क्यू = [20, 30]
डिक्यू(): 20 को निकाला जाएगा, क्यू = [30]
डिक्यू(): 30 को निकाला जाएगा, क्यू = []

3. फ्रंट ऑपरेशन (Front Operation) :

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

एल्गोरिदम:

  • यदि क्यू खाली है, तो त्रुटि प्रदर्शित करें।
  • अन्यथा, क्यू के पहले तत्व को लौटाएँ।

एल्गोरिदम:

फ्रंट(क्यू):

    यदि front = -1 हो
        तब "क्यू खाली है" प्रदर्शित करें
    अन्यथा
        क्यू[फ्रंट] लौटाएँ

उदाहरण:

मान लीजिए क्यू = [10, 20, 30] है, तो फ्रंट() ऑपरेशन 10 लौटाएगा, क्योंकि 10 क्यू का पहला तत्व है।

4. रियर ऑपरेशन (Rear Operation) :

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

एल्गोरिदम:

  • यदि क्यू खाली है, तो त्रुटि प्रदर्शित करें।
  • अन्यथा, क्यू के अंतिम तत्व को लौटाएँ।

एल्गोरिदम:

रियर(क्यू):
    यदि रियर = -1 हो
        तब "क्यू खाली है" प्रदर्शित करें
    अन्यथा
        क्यू[रियर] लौटाएँ

उदाहरण:

मान लीजिए क्यू = [10, 20, 30] है, तो रियर() ऑपरेशन 30 लौटाएगा, क्योंकि 30 क्यू का अंतिम तत्व है।

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

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

एल्गोरिदम:

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

एल्गोरिदम:

इज़-एम्प्टी(क्यू):

    यदि front = -1 हो
        तब सत्य (True) लौटाएँ  // क्यू खाली है
    अन्यथा
        असत्य (False) लौटाएँ  // क्यू खाली नहीं है

उदाहरण:

यदि क्यू = [], तो इज़-एम्प्टी() परिणाम True लौटाएगा, क्योंकि क्यू में कोई तत्व नहीं है।

6. इज़-फुल ऑपरेशन (Is-Full Operation) :

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

एल्गोरिदम:

  • यदि रियर = MAX-1 है, तो क्यू भरा हुआ है।
  • अन्यथा, क्यू में अभी भी जगह है।

एल्गोरिदम:

इज़-फुल(क्यू):
    यदि रियर = MAX-1 हो
        तब सत्य (True) लौटाएँ  // क्यू भरा है
    अन्यथा
        असत्य (False) लौटाएँ  // क्यू भरा नहीं है

उदाहरण:

यदि क्यू की अधिकतम सीमा 5 है और वर्तमान क्यू = [10, 20, 30, 40, 50], तो इज़-फुल() परिणाम True लौटाएगा।

क्यू के मुख्य ऑपरेशन्स का उदाहरण :

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

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