728x90
큐 구조
- 식당이나 공연장 등에서 줄을 서는 것과 유사함
- 제일 처음 넣은 데이터를 가장 먼저 꺼낼 수 있음
필수 용어
- Enqueue : 큐에 데이터를 넣음
- Dequeue : 큐에서 데이터를 꺼냄
FIFO(First-In, First-Out) 방식 : 먼저 들어간 데이터가 가장 먼저 나오는 일반적인 큐
import queue
data_queue = queue.Queue()
data_queue.put("today") #원하는 문자 데이터 넣기
data_queue.put(1) #원하는 숫자 넣기
data_queue.qsize() #today, 1 두 개의 데이터가 있으니 2출력
data_queue.get() #먼저들어간 데이터 today가 출력
data_queue.qsize() #today 데이터가 빠져나왔기 때문에 1출력
data_queue.get() #남은 데이터인 숫자1 출력
LIFO(Last-In, First-Out) 방식 : 나중에 입력된 데이터가 먼저 출력됨
import queue
data_queue = queue.LifoQueue()
data_queue.put("today")
data_queue.put(1)
data_queue.qsize() #2
data_queue.get() #숫자 1을 마지막에 넣었기 때문에 숫자1이 출력
큐가 많이 쓰이는 곳은?
- 멀티 태스킹을 위한 프로세스 스케줄링 방식을 구현하기 위해 많이 사용됨
'IT개발 > 자료구조를 알아보자!' 카테고리의 다른 글
자료구조 : 트리(Tree) (0) | 2021.08.14 |
---|---|
자료구조 : 해쉬 테이블(Hash Table) (0) | 2021.08.12 |
자료구조 : 링크드 리스트 (Linked List) (0) | 2021.08.10 |
자료구조 : 스택(Stack) (0) | 2021.07.29 |
자료구조 : 배열(Array) (0) | 2021.07.22 |