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() 를 사용할 것.