스택(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