- 데크(deque)는 양방향 큐이다.
- 양쪽 방향에서 요소를 추가하거나 제거할 수 있다.
- 즉 일반적인 리스트의 경우 pop()보다 pop(0)을 할 경우 메모리 사용량이 늘어난다. 그 이유는 pop(0)의 경우 pop(0)을 하고 리스트를 맨 끝부터 앞으로 한 칸 씩 이동시키는 작업을 하기 때문이다.
- 그런데 deque는 양방향 큐니깐 pop(0)이나 pop()이나 똑같다는 뜻!
- 즉 deque를 쓸 경우 확률상 양 끝 엘리먼트의 append와 pop이 압도적으로 빠르다.
- 심지어 사용법도 쉬움.. 앞으로 deque에 익숙해지도록 하자
from collections import deque
deq = deque()
# 리스트 맨 앞에 요소 추가
deq.appendleft('요소')
# 리스트 뒤에 요소 추가 (일반적인 append)
deq.append('요소')
# 리스트 맨 앞에 요소 제거 (일반적인 pop(0))
deq.popleft()
# 리스트 맨 뒤에 요소 제거
deq.pop()
'알고리즘 공부💥 > 본연의 알고리듬' 카테고리의 다른 글
[알고리듬] python 기본 method 복습하기 (0) | 2022.02.19 |
---|---|
[알고리듬] 파이썬 함수 lambda (0) | 2021.09.24 |
[알고리듬] 파이썬 라이브러리 defaultdict (0) | 2021.09.24 |
[알고리듬] 파이썬 라이브러리 Counter (0) | 2021.09.24 |
[알고리듬] 플로이드-워셜 알고리즘 / python (0) | 2021.09.23 |