[Data Structure] 파이썬에서의 스택(Stack)과 큐(Queue)

스택(Stack)

후입선출(LIFO) 구조라고도 한다. 나중에 들어온 게 먼저 나간다.

파이썬에서는 다음과 같이 리스트 자료형을 통해 구현할 수 있다.

stack = []
stack.append(0) # [0]
stack.append(1) # [0, 1]
stack.pop() # [0], return 1

큐 (Queue)

선입선출(FIFO) 구조라고도 한다. 먼저 들어온 게 먼저 나간다.

파이썬에서는 큐를 구현하기 위해 collections 모듈deque(덱)을 이용한다.

덱(deque)이란 스택과 큐를 합친 자료구조로, 양 방향에서 삽입/삭제가 가능하다.

from collections import deque

queue = deque()
queue.append(0) # [0]
queue.append(1) # [0, 1]
queue.popleft() # [1], return 0