python에서 제공하는 deque라는 자료구조에 대해서 알아보겠다.
deque는 양방향큐라고 생각하면 된다. 파이썬에서는 list를 활용하여 큐나 스텍처럼 활용할 수 있는데, list는 pop과 append의 연산이 O(n)의 시간 복잡도를 가지는 반면에 deque는 O(1)의 시간복잡도를 가져 삽입, 삭제의 연산이 빈번한 로직에서는 deque를 사용하는 게 월등히 빠르다.
from collections import deque # deque 선언 deq = deque() # deque 왼쪽에 삽입 deq.appendleft(item) # deque 왼쪽에 삽입 deq.append(item) # deque 왼쪽에서 pop deq.popleft() # deque 오른쪽에서 pop deq.pop()
deq.append(10) 를 수행하고 출력을 하면 다음과 같이 출력된다.
deque([10])