본문 바로가기
카테고리 없음

Python으로 Queue 사용하기

by why제곱 2024. 7. 20.

List 사용하기

삽입 : append() 활용

삭제 : pop(0)

주의 : pop(0)은 시간복잡도가 O(N)이므로 pop이 자주 발생하는 상황에서는 비효율적이다.

collections 모듈의 deque 사용하기

from collections import deque

#선언
dq = deque([])

#삽입
dq.append(1)

#삭제 : 원소가 없다면 IndexError발생
dq.popleft()

#전체 삭제
dq.clear()

#count : x와 같은 원소의 개수 세기
dq.count(x)

#회전 : n만큼 위치 이동 (n>0이면 오른쪽, n<0이면 왼쪽으로 이동)
dq.rotate(n)

#뒤집기
dq.reverse()

#max size (제한되지 않았다면 None)
dq.maxlen()

Queue활용 뿐 아니라 deque에 있는 함수들도 추가로 몇 개 정리해봤다. 나중에 deque 활용을 위해 함수들을 한번 더 정리해봐야겠다.

queue 모듈의 Queue 사용하기

from queue import Queue

#선언
q = Queue()

#삽입
q.put('데이터')

#삭제(꺼내기)
q.get()

#size
q.qsize()

#비어있으면 True, 아니면 False
q.empty()

#Queue가 꽉 차 있으면 True, 아니면 False
q.full()

list와 deque의 시간복잡도 비교

List Deque