Queue
A data structure with limited location for insertion and deletion, as with stacks.
F.I.F.O ( First In First Out)

Head & Tail
Head
: the first (the oldest) element in the queue
Tail
: the last element (the newest) in element in the queue
Enqueue & Dequeue
Enqueue
: add an element to the tail
Dequeue
: remove the head element
Peek
: look at the head element, but not removing it
Deque
: a queue that goes both ways
-> you can enqueue & dequeue from either end
-> kind of a generalized version of both stacks & queues since you could represent either of them with it!
Implementation
from collections import deque
q = deque()
q.append([1,2,3])
q.append([4,5,6])
# Head ์ญ์ ( ๋ฆฌ์คํธ์์ pop(0) ํ๋ ๊ฒ ๋ณด๋ค, deque ๋ฅผ import ํด์ popleft ๋ฅผ ์ฐ๋๊ฒ ๋น ๋ฅด๋ค.)
q.popleft()
print(q)
=> [4,5,6]
Priority Queue
assign each element a numerical priority when you insert it into the queue
remove the element with the highest priority when you dequeue
-> if the elements have the same priority, the oldest element is the one that gets dequeue first
Last updated
Was this helpful?