Skip to content
Hamin Pyo edited this page Aug 23, 2021 · 1 revision

Queue

A data structure with limited location for insertion and deletion, as with stacks.

F.I.F.O ( First In First Out)

Head & Tail

  1. Head

    : the first (the oldest) element in the queue

  2. Tail

    : the last element (the newest) in element in the queue

Enqueue & Dequeue

  1. Enqueue

    : add an element to the tail

  2. Dequeue

    : remove the head element

  3. 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

Clone this wiki locally