Queue – FIFO, types: Simple, Circular, Priority, Deque

Queue Data Structure: Complete Guide in Hinglish

 

Queue (क्यू) Kya Hai?

Queue (क्यू) भी Stack ki tarah ek Linear Data Structure hai, lekin yeh Stack se alag tareeke se kaam karta hai.

Queue ko aap ek line ya kataar (queue) ki tarah imagine kar sakte hain, jaise aap ticket counter par ya bus stop par dekhte hain.

Queue mein data elements do alag-alag ends se manage kiye jaate hain:

  1. Front (सामने): Jahan se elements nikale jaate hain.

  2. Rear (पीछे): Jahan naye elements daale jaate hain.


FIFO Principle (FIFO सिद्धांत)

Queue ka basic kaam karne ka tareeka (working principle) FIFO par based hai.

  • FIFO ka full form hai: First In, First Out

  • Matlab Kya Hai?: Iska matlab hai ki woh element jo queue mein sabse pehle (first) enter hua tha, woh hi element queue se sabse pehle bahar niklega.

Example: Jab aap printer ko kai print commands dete hain, toh woh printer un commands ko usi order mein process karta hai jis order mein woh aayi thin (FIFO).

FIFO Principle in Queue

Queue Operations (क्यू ऑपरेशंस)

Queue mein mukhya roop se yeh do basic operations hote hain, jo iski FIFO property ko maintain karte hain:

1. Enqueue (डालना)

  • Kaam: Queue ke Rear end par ek naya element daalna (insert karna).

  • Process: Rear pointer ek position aage badh jaata hai, aur naya element us jagah store ho jaata hai.

  • Condition: Agar queue poori bhari hai, toh ise Queue Overflow kehte hain, aur naya element insert nahi ho sakta.

Enqueue Operation in Queue

2. Dequeue (निकालना)

  • Kaam: Queue ke Front end se element ko nikalna (remove karna).

  • Process: Front pointer ek position aage badh jaata hai, aur woh element jo pehle Front par tha, use return (waapas) kar diya jaata hai.

  • Condition: Agar queue khaali hai, toh ise Queue Underflow kehte hain, aur koi element nikala nahi ja sakta.

Dequeue Operation in Queue

Auxiliary Operations:

  • Front(): Front element ko sirf dekhna (access karna), bina use hataye.

  • Rear(): Rear element ko sirf dekhna, bina use hataye.

  • isEmpty(): Check karna ki kya queue khaali hai.

  • isFull(): Check karna ki kya queue poori bhari hai.

Auxiliary Operations in Queue

Types of Queue (क्यू के प्रकार)

Queue ko uske structure aur kaam karne ke tareeke (working style) ke hisaab se kai types mein divide kiya gaya hai:

1. Simple Queue (सरल क्यू)

  • Pehchaan: Yeh standard FIFO queue hai jise linear array se implement kiya jaata hai.

  • Limitation (Samasya): Jab Dequeue operations hote hain, toh queue ke shuru (beginning) mein khaali jagah ban jaati hai. Lekin agar Rear pointer array ke end tak pahunch jaaye, toh bhi hum naye elements insert nahi kar paate, bhale hi shuru mein bahut saari jagah khaali ho. Ise Memory Wastage ya Linear Queue ki problem kehte hain.

Simple Queue

2. Circular Queue (गोलाकार क्यू)

  • Pehchaan: Yeh Simple Queue ki Memory Wastage ki problem ko solve karta hai.

  • Structure: Ismein array ke last element ko first element se conceptually jod diya jaata hai, jisse yeh golaakaar (circular) tareeke se kaam karta hai.

  • Working: Agar Rear pointer array ke end tak pahunch jaata hai, toh woh phir se shuru (index 0) se khaali jagah par lapet (wrap around) kar naye elements insert kar sakta hai, agar Front mein jagah khaali ho.

  • Benefit: Isse memory resources ka behtar upyog (better utilization) ho paata hai.

Circular Queue

3. Priority Queue (प्राथमिकता क्यू)

  • Pehchaan: Yeh FIFO principle ko nahi maanta hai. Ismein har element ke saath ek Priority Value judi hoti hai.

  • Working: Elements ko unke aane ke order se nahi, balki unki priority ke hisaab se nikala jaata hai. Highest priority waala element sabse pehle niklega, chahe woh queue mein kab bhi daala gaya ho. Agar do elements ki priority same ho, toh woh FIFO order mein nikalte hain.

  • Application: Operating Systems mein tasks ko schedule karna (Jahaan high priority tasks ko pehle CPU time milta hai).

Priority Queue

4. Deque (डबल एंडेड क्यू)

  • Full Form: Double Ended Queue (Do sire waali क्यू).

  • Pehchaan: Yeh ek aisi queue hai jismein elements ko dono ends (Front aur Rear) se daala (Insert) aur nikala (Delete) jaa sakta hai.

  • Types: Iski flexibility ke hisaab se ise do tarah se use kiya jaa sakta hai:

    • Input Restricted Deque: Elements sirf ek end se daale jaate hain, lekin dono ends se nikale jaa sakte hain (Stack ki tarah use ho sakta hai).

    • Output Restricted Deque: Elements dono ends se daale jaate hain, lekin sirf ek end se nikale jaate hain.

  • Benefit: Yeh Stack aur Simple Queue, dono ki tarah use hone ki flexibility deta hai.

Deque

Note: यह ब्लॉग पोस्ट Queue Data Structure को आसानी से समझाने के लिए बनाया गया है। अगर आप और जानना चाहते हैं, तो कमेंट करें!

Comments

Popular posts from this blog

Data Abstraction

Data Structure Ka Parichay Aur Prakar (Introduction and Types of Data Structure)

Data Abstraction