Queue (선입선출)
- 큐는 먼저 들어온 자료가 가장 먼저 처리되는 자료구조
- FIFO(First In First Out) 기반의 매우 유명한 자료 구조
- 순서 보장
큐(Queue)의 종류
1. Enqueue : 큐 맨 뒤에 어떠한 요소를 추가
예) 마지막으로 온 손님에게 번호표 발부
2. Dequeue : 큐 맨 앞쪽의 요소를 삭제
예) 창구에서 서비스를 받은 손님의 번호표를 대기목록에서 삭제
3. Peek : front에 위치한 데이터를 읽음
예) 다음 서비스를 받을 손님이 누구인지 확인
4. Front : 큐의 맨 앞의 위치(인덱스)
예) 다음 서비스를 받을 손님의 번호
5. Rear : 큐의 맨 뒤의 위치(인덱스)
예) 마지막에 온 손님의 번호

구현
# colab
from collections import deque
# 삽입
def enqueue(queue, element):
queue.append(element)
# 삭제
def dequeue(queue):
print(queue.popleft())
if __name__=='__main__':
queue_1 = deque()
enqueue(queue_1, 1)
enqueue(queue_1, 2)
enqueue(queue_1, 3)
print(queue_1)
dequeue(queue_1)
dequeue(queue_1)
dequeue(queue_1)
print(queue_1)
더보기
[결과]
deque([1, 2, 3])
1
2
3
deque([])
'자료구조 & 알고리즘 > 이론' 카테고리의 다른 글
[알고리즘] 동적 계획법 (Dynamic Programming) (0) | 2022.09.08 |
---|---|
[알고리즘] 정렬 알고리즘 (0) | 2022.09.07 |
[자료구조] 스택(stack) 파이썬으로 구현하기 (0) | 2022.04.08 |
[자료구조] 자료구조의 정의 & 분류 (0) | 2022.04.08 |
[자료구조] 빅오(Big-O)표기법 (0) | 2022.04.07 |
댓글