코딩테스트

[자료구조] 덱(Deque, Double-ended queue)

UnaUna 2025. 6. 3. 02:16
반응형

🚀 덱(Deque)

  • 스택과 큐 자료구조를 혼합한 자료구조이다.
  • 양쪽에서 삽입과 삭제가 가능한 구조이며 스택과 큐의 연산을 모두 지원한다.
  • 스택과 큐와 마찬가지로 중간에 넣거나 빼지 못한다.
  • 스크롤(Scroll), 문서 편집기 등의 undo 연산, 웹 브라우저의 방문 기록 등에 사용된다.

 

 

  • Deque(): 비어 있는 새로운 덱을 생성
  • isEmpty(): 덱이 비어있으면 True를 아니면 False 반환
  • addFront(x): 항목x를 덱의 맨 앞에 추가
  • deleteFront(): 맨 앞의 항목을 꺼내서 반환
  • getFront(): 맨 앞의 항목을 꺼내지 않고 반환
  • addRear(x): 항목 x를 덱의 맨 뒤에 추가
  • deleteRear(): 맨 뒤의 항목을 꺼내서 반환
  • getRear(): 맨 뒤의 항목을 꺼내지 않고 반환
  • isFull(): 덱이 가득 차 있으면 True를 아니면 False 반환
  • size(): 덱의 모든 항목들의 개수 반환
  • clear(): 덱을 공백상태로 만듬

이 중 한 쪽으로만 입력이 가능하도록 설정한 덱을 스크롤(Scroll)이라고 하며,

한 쪽으로만 출력할 수 있도록 설정한 덱을 셀프(Shelf)라고 한다.

반응형