पाठ 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 भी चलाता है।