Python
[3주차]7장 큐
dayae_dev
2024. 1. 30. 15:18
front와 rear을 사용하는 큐는 원형 큐에 비해서 메모리 낭비가 있는 편이다.
파이썬에서 원형 큐를 사용하기 위해서는 리스트나 덱을 활용하여 구현할 수 있다.
리스트를 큐 처럼 사용하기
queue = []
# 큐에 데이터 추가
queue.append(1)
queue.append(2)
queue.append(3)
# 큐의 맨 앞 데이터 제거
first_item = queue.pop(0)
print(first_item) # 출력: 1
# 큐에 데이터 추가
queue.append(4)
# 큐의 맨 앞 데이터 제거
first_item = queue.pop(0)
print(first_item) # 출력: 2
덱을 큐처럼 활용하기
# deque = Double Ended Queue의 줄임말
# 양 끝에서 삽입이나 삭제할 수 있는 큐
# 위의 특징 때문에 큐를 구현할 때 덱을 사용하는 것이 좋음
from collections import deque
queue = deque( )
# 큐에 데이터 추가
queue.append(1)
queue.append(2)
queue.append(3)
# 큐의 맨 앞 데이터 제거
first_item = queue.popleft()
print(first_item) # 1
# 큐에 데이터 추가
queue.append(4)
# 큐의 맨 앞 데이터 제거
first_item = queue.popleft()
print(first_item) # 2
*pop(0)이 popleft()보다 훨씬 느리므로, 반드시 pop(0) 대신에 popleft() 를 사용할 것.