Deque
1. 데크(Deque)의 개념
- 데크는 Double-Ended Queue의 줄임말입니다
- 양쪽 끝에서 모두 데이터를 삽입하고 삭제할 수 있는 자료구조입니다
- 스택과 큐의 장점을 모두 가지고 있는 확장된 자료구조입니다
- 스택처럼 후입선출(LIFO) 연산이 가능합니다
- 큐처럼 선입선출(FIFO) 연산도 가능합니다
2. 데크의 주요 특징
- 양방향 입출력이 가능합니다
- 앞쪽과 뒤쪽 모두에서 삽입 연산이 가능합니다
- 앞쪽과 뒤쪽 모두에서 삭제 연산이 가능합니다
- 데이터의 삽입과 삭제가 빠릅니다
- 양끝에서의 작업은 O(1) 시간복잡도를 가집니다
- 중간 데이터 접근은 상대적으로 느립니다
- 임의 접근 시 O(n) 시간복잡도가 발생합니다