본문 바로가기
Edu/01. Language: Python

[알고리즘] Queue

by Lacuna028 2021. 11. 13.
* 학습 내용
- 큐 정의
- 큐 구조
- 파이썬 queue 라이브러리 종류
- 큐 생성 실습

1) 큐

: 가장 먼저 넣은 데이터를 가장 먼저 꺼내는 구조(FIFO)

 

2) 큐의 구조

: 줄을 서는 행위와 비슷. 

 

3) 파이썬 queue 라이브러리

- Queue():가장 일반적인 큐 구조

- LifoQueue():나중에 입력된 데이터가 먼저 출력되는 구조

- PriorityQueue(): 데이터마다 우선순위를 넣어서 우선순위가 높은 순으로 데이터 출력

 

4) 큐 실습(파이썬 queue 라이브러리 사용)

1) Queue

# 라이브러리 임포트
import queue


# 객체 생성
data_queue= queue.Queue()


# 데이터 input
data_queue.put("funcoding")
data_queue.put(1)


# 데이터 조회
data_queue.qsize()


# 데이터 출력(output)
data_queue.get()

 

 

2) LifoQueue

# 라이브러리 임포트
import queue


# 객체 생성
data_queue = queue.LifoQueue()


# 데이터 input
data_queue.put("funcoding")
data_queue.put(1)


# 데이터 조회
data_queue.qsize()


# 데이터 출력(output)
data_queue.get()

 

 

3) PriorityQueue

# 라이브러리 임포트
import queue


# 객체 생성
data_queue = queue.PriorityQueue()


# 데이터 input
data_queue.put((10, "funcoding")) # (우선순위, 데이터값)
data_queue.put((5, 1))
data_queue.put((5, "testcode")) # 오류가 나지만 데이터에 할당되는 것 같음


# 데이터 조회
data_queue.qsize()


# 데이터 출력(output)
data_queue.get()

 

'Edu > 01. Language: Python' 카테고리의 다른 글

데이터 타입: 숫자형  (0) 2021.11.30
print()함수  (0) 2021.11.30
Type Hints  (0) 2021.09.29
조건문  (0) 2021.09.18
문자열 함수  (0) 2021.09.18