पाठ 7 / 42

Queue

First-In-First-Out: पीछे enqueue, आगे dequeue।

FIFO

सबसे पुराना तत्व पहले जाता है। दोनों सिरे O(1) रखने के लिए ring buffer या doubly linked list उपयोग करें। pop(0) वाला सादा array O(n) है — collections.deque उपयोग करें।

चेकआउट कतार

आप पीछे से जुड़ते हैं; जो सबसे ज़्यादा देर रुका, अगला उसी की बारी। कोई घुसपैठ नहीं।

queue के रूप में deque

deque दोनों सिरों पर O(1) देता है और stack या double-ended queue दोनों का काम करता है।

from collections import deque
q = deque()
q.append(1); q.append(2); q.append(3)
q.popleft()   # -> 1  (FIFO)
q[0]          # peek front -> 2

यह कहाँ छिपा है

BFS traversal, task/print scheduling, request buffering, और producer–consumer pipeline। Deque sliding-window-maximum भी चलाता है।