프론트엔드 정복하기
큐(queue) 본문
큐(queue)는 기본적으로 FIFO 정책을 갖는다. : First-in-First-out
파이썬에서 큐 라이브러리를 제공하는데 이를 쓸 수 있다.
import queue
data_queue = queue.Queue()
data_queue.put('...') # 큐에 데이터 삽입
data_queue.qsize() # 큐에 있는 데이터 개수 산출
data_queue.get() # 큐에 가장 먼저 삽입된 데이터 꺼내기
LIFO 정책인 큐도 있다. Last-in-First-out
import queue
data_queue = queue.LifoQueue()
data_queue.put('...') # 큐에 데이터 삽입
data_queue.qsize() # 큐에 있는 데이터 개수 산출
data_queue.get() # 큐에 가장 마지막에 삽입된 데이터 꺼내기
PriorityQueue
데이터를 넣을 때마다 우선수위 번호를 같이 넣는다.
따라서 해당 큐에서 데이터를 추출할 때는 가장 우선순위가 높은 데이터부터 추출한다.
import queue
data_queue = queue.PriorityQueue()
data_queue.put((10, 'korea')) # 큐에 (우선 순위, 데이터)를 튜플 형태로 삽입
data_queue.qsize() # 큐에 있는 데이터 개수 산출
data_queue.get() # 큐에서 우선순위가 높은 데이터부터 추출 (우선순위 숫자가 낮은)
** 큐가 어디서 많이 쓰일까?
멀티 태스킹을 위한 프로세스 스케줄링 방식을 구현하기 위해
** 큐의 장단점은 특별히 없음
** 큐 관련 용어
- enQueue : 큐에 데이터 넣기
- deQueue : 큐에서 데이터 꺼내기
'패스트캠퍼스 - 자료구조와 알고리즘 > 파이썬 기초(문제풀이)' 카테고리의 다른 글
링크드리스트 - 특정 노드 삭제 기능 (0) | 2021.08.09 |
---|---|
구구단 출력하기 (0) | 2021.07.23 |
파이썬 기초(문제풀이) 1 (0) | 2021.07.19 |