Data Structure in Hindi – Circular Queue

circular queue in data structure in hindi, circular queue in hindi, circular queue kya hai,

  • circular queue in data structure in hindi,
    • Insertion in Circular queue in Hindi,
    • Algorithm to insert an element in circular queue,
      • C Function,
    • Algorithm to delete an element from a circular queue,

circular queue in data structure in hindi, Insertion in Circular queue in Hindi, Algorithm to insert an element in circular queue, C Function, Algorithm to delete an element from a circular queue,

Circular Queue in Data Structure in Hindi

जहां तक linear queue की बात है, तो Deletion और insertion को क्रमश front और rear end में किया जा सकता है।

निम्नलिखित आकृति में दिखाए गए queue पर विचार करें।

Circular Queue

उपरोक्त आकृति में दर्शाई गई कतार (queue) पूरी तरह से भरी हुई है और rear condition होने के कारण कोई और element नहीं डाला जा सकता है ==max – 1 becomes true.

हालांकि, यदि हम कतार के सामने के छोर पर 2 elements को हटाते हैं, तो हम अभी भी किसी भी element को नहीं डाल सकते हैं क्योंकि condition rear = -1 max -1 still holds

यह linear queue के साथ मुख्य समस्या है, हालांकि हमारे पास array में space उपलब्ध है, लेकिन हम कतार में कोई और element नहीं डाल सकते हैं। यह केवल memory wastage है और हमें इस समस्या को दूर करने की आवश्यकता है।

Circular Queue

इस समस्या के समाधान में से एक circular queue है। circular queue में, पहला index आखिरी index के ठीक बाद आता है। 

Circular Queue

Circular queue पूर्ण होगी जब front = -1 और rear = max-1. Circular queue का कार्यान्वयन (implementation) एक linear queue के समान है। insertion और deletion के मामले में लागू किया गया केवल logic वाला भाग एक linear queue में इससे भिन्न होता है।

 

Complexity

Time Complexity

Front O(1)
Rear O(1)
enQueue() O(1)
deQueue() O(1)

 

Insertion in Circular queue in Hindi

एक कतार में एक तत्व insert करने के तीन scenario हैं।

  1. If (rear + 1)%maxsize = front,  कतार भरी हुई है। उस स्थिति में, overflow होता है और इसलिए, insertion कतार में नहीं किया जा सकता है।
  2. If rear != max – 1, तो rear को mod(maxsize) में बढ़ाया जाएगा और नया value कतार के पीछे अंत में डाला जाएगा।
  3. If front != 0 and rear = max – 1, तो इसका मतलब है कि कतार पूरी नहीं भरी है इसलिए, पीछे के मान (value) को 0 पर सेट करें और वहां नया element डालें।

Algorithm to insert an element in circular queue

  • Step 1: IF (REAR+1)%MAX = FRONT
    Write ” OVERFLOW “
    Goto step 4
    [End OF IF]
  • Step 2: IF FRONT = -1 and REAR = -1
    SET FRONT = REAR = 0
    ELSE IF REAR = MAX – 1 and FRONT ! = 0
    SET REAR = 0
    ELSE
    SET REAR = (REAR + 1) % MAX
    [END OF IF]
  • Step 3: SET QUEUE[REAR] = VAL
  • Step 4: EXIT

C Function

  1. void insert(int item, int queue[])  
  2. {  
  3.     if((rear+1)%maxsize == front)  
  4.     {  
  5.         printf(“\nOVERFLOW”);  
  6.         return;  
  7.     }  
  8.     else if(front == –1 && rear == –1)  
  9.     {  
  10.         front = 0;  
  11.         rear = 0;  
  12.     }  
  13.     else if(rear == maxsize –1 && front != 0)   
  14.     {  
  15.         rear = 0;  
  16.     }  
  17.     else   
  18.     {  
  19.         rear = (rear+1)%maxsize;  
  20.     }  
  21.     queue[rear] = item;  

Leave a Reply

DMCA.com Protection Status