내일배움캠프 TIL (230113): 큐 자료구조

Jiumn·2023년 1월 12일
0

Queue() 라이브러리 사용해보기

일반적인 queue (FIFO)

import queue
data_queue = queue.Queue()
  • data_queue = queue.Queue(): queue 라이브러리에서 Queue 객체 생성한 후 변수에 저장

큐에 값 저장하려면 put() 메서드를 사용한다.

data_queue.put("funcoding")
data_queue.put(1)

순서대로 funcoding과 1이 저장되었다.
큐의 길이를 data_queue.qsize()로 확인해보면 2가 나온다.

큐에 있는 값을 빼는 함수는 get()
함수를 실행할 때마다 가장 먼저 들어간 funcoding, 1 순으로 값이 나온다.

LIFO Queue

마지막에 들어간 게 가장 먼저 나오므로 스택과 비슷한 큐다.

일반적인 큐와 달리 queue.LifoQueue()로 객체를 생성한다.

값을 저장하고 빼는 메서드는 동일하나 순서가 다르게 추출된다.

Priority Queue

이름대로 우선순위를 지정할 수 있는 큐다.

queue.priorityQueue()로 객체를 생성한다.

특이한 점은 튜플 형태로 데이터를 조작한다는 점이다.

data_queue.put((10, "korea"))
data_queue.put((5, 1))
data_queue.put((15, "china"))

첫 번째 인자가 우선순위, 두 번째 인자가 값이다.

자료를 빼낼 때는 우선순위에 높은 것(숫자가 작은 것)부터 빠진다.

profile
Back-End Wep Developer. 꾸준함이 능력이다. Node.js, React.js를 주로 다룹니다.

0개의 댓글