[자료구조] 큐(Queue)란
큐는 대기줄에 비유할 수 있다. 줄을 설 때 먼저 온 사람이 먼저 들어가게 되고, 나중에 온 사람은 그만큼 나중에 들어가게 된다. 이를 선입선출
, FIFO
구조라고 한다.
파이썬
파이썬에서 큐를 구현할 때에는 collections
모듈에서 제공하는 deque
자료구조를 활용한다.
deque
는 스택
과 큐
의 장점을 모두 채택한 것으로, 데이터를 넣고 빼는 속도가 list
자료형에 비해 효율적이며, queue
라이브러리를 이용하는 것보다 더 간단한다.
또한 deque
객체를 list
자료형으로 변경하고 싶다면 list()
메서드를 이용하면 된다.
from collections import deque
queue = deque()
queue.append(5)
stack.append(2)
stack.append(3)
stack.append(7)
queue.popleft() # 맨 앞 원소 추출 (맨 왼쪽)
stack.append(1)
stack.append(4)
queue.popleft() # 맨 앞 원소 추출 (맨 왼쪽)
print(queue) # 먼저 들어온 순서대로 출력 (앞번부터 출력)
queue.reverse() # 역순으로 바꾸기
prinr(queue) # 나중에 들어온 순서대로 출력 (뒷번부터 출력)
# [3, 7, 1, 4]
# [4, 1, 7, 3]
References
이것이 코딩 테스트다 with 파이썬
댓글남기기