파이썬 deque에 관한 소개
파이썬은 많은 데이터 구조 및 컬렉션 타입을 제공하여 프로그래밍을 보다 효율적으로 만들어줍니다. 이 중에서도 deque은 매우 유용한 자료 구조로, 데이터의 빠른 삽입과 삭제를 지원하여 많은 상황에서 사용됩니다. 이번 글에서는 파이썬의 deque에 대해 소개해보겠습니다.
deque의 정의
deque는 “Double Ended Queue”의 약자로, 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료 구조입니다. 리스트의 양쪽 끝에서는 O(1)의 시간 복잡도로 삽입과 삭제를 수행할 수 있습니다. 이는 리스트의 중간에 요소를 추가하거나 삭제하는 연산에 비해 매우 빠르다는 장점이 있습니다.
deque의 사용법
deque은 collections 모듈에서 제공됩니다. 따라서, 사용하기 위해서는 먼저 collections 모듈을 import해야 합니다. 다음은 deque을 생성하고 사용하는 예제 코드입니다.
“` python
from collections import deque
mydeque = deque()
요소 추가
mydeque.append(1) # 오른쪽 끝에 요소 추가
mydeque.appendleft(2) # 왼쪽 끝에 요소 추가
mydeque.extend([3, 4, 5]) # 오른쪽 끝에 여러 개의 요소 추가
mydeque.extendleft([6, 7]) # 왼쪽 끝에 여러 개의 요소 추가
요소 삭제
mydeque.pop() # 오른쪽 끝 요소 삭제
mydeque.popleft() # 왼쪽 끝 요소 삭제
“`
deque의 활용 예시
deque은 큐(queue)나 스택(stack)과 유사한 방식으로 사용할 수 있습니다. 예를 들어, deque을 사용하여 LRU 캐시(Least Recently Used Cache)를 구현하거나, 너비 우선 탐색(BFS) 알고리즘에서 방문할 노드를 관리하는 용도 등으로 사용할 수 있습니다.
결론
deque은 파이썬의 뛰어난 자료 구조 중 하나로, 리스트와 비슷한 기능을 제공하면서 데이터의 삽입과 삭제가 빠르다는 큰 장점이 있습니다. 이러한 특성으로 인해 많은 상황에서 사용되며, 큐(queue)나 스택(stack)과 유사한 용도로 활용될 수 있습니다.