자료구조

큐(Queue)

아몬드바 2023. 8. 13. 18:52
728x90

정의

 - 데이터 간 순서를 약속하는 추상 자료형

 - 데이터를 삭제할 때는 가장 앞에서만 삭제, 삽입할 때는 가장 뒤에서만 삽입한다.(FIFO)

 - 가장 먼저 들어온 데이터가 가장 먼저 삭제된다.

 

연산

 - 맨 뒤 데이터 추가

 - 맨 앞 데이터 삭제

 - 맨 앞 데이터 접근

#deque(Doubly-ended-queue)
from collections import deque

queue = deque()

# 큐의 맨 끝에 데이터 삽입
queue.append("가")
queue.append("나")
queue.append("다")
queue.append("라")
queue.append("마")

# 큐의 맨 앞에 데이터 접근
print(queue[0])

# 큐 맨 앞 데이터 삭제 후 값을 리턴한다.
print(queue.popleft())
print(queue.popleft())
print(queue.popleft())

print(queue)

큐 구현

 1. 동적 배열

 2. 링크드 리스트, deque

      - 맨 앞 삭제, 삽입, 접근 - O(1)

 

728x90