Skip to content

Latest commit

 

History

History
30 lines (19 loc) · 769 Bytes

dequeue.md

File metadata and controls

30 lines (19 loc) · 769 Bytes

Dequeue

The name stands for double-ended queue.

deque is implemented as a doubly linked list. Which is why appending and popping from both ends take O(1) whereas in list it takes O(n) to do these operations due to reallocation of memory.

  • Operations for left: popleft() and appendleft(item)
  • Operations for right: pop() and append(item)
from collections import deque

numbers = deque([1, 2, 3, 4])

# left side
numbers.popleft() # 1
numbers.appendleft(2) # [2, 2, 3, 4]

# right side
numsers.pop() # 4
numbers.append(5) # [2, 2, 3, 5] 

Resources

Implemenation: