Deque(덱)

Kim Yuhyeon·2022년 3월 31일
0

알고리즘 + 자료구조

목록 보기
30/161

개념

양방향 큐(Double-Ended Queue)의 줄임말

큐의 전단(Front)후단(Rear) 모두에서 데이터의 입출력이 발생하는 자료구조이다.
스택과 큐의 특성을 모두 갖는, 둘을 조합한 형태의 자료구조로 이해되고 있다.

매우 유연한 자료구조로써 양 끝단에서 발생하는 데이터의 입출력을 부분적으로 제한할 수 있다.

  • Scroll 자료구조 : 양쪽에서 데이터의 출력이 가능하지만 한 쪽의 입력을 제한
  • Shelf 자료구조 : 양쪽에서 데이터의 입력이 가능하지만 한 쪽의 출력을 제한

연산

  • push_front(item) : item을 덱의 가장 앞에 추가한다.
  • push_back(item) : item을 덱의 가장 뒤에 추가한다.
  • pop()_front() : 덱에서 가장 앞에 있는 원소를 삭제한다.
  • pop()_back() : 덱에서 가장 뒤에 있는 원소를 삭제한다.
  • front() : 덱의 가장 앞에 있는 정수를 출력한다.
  • back() : 덱의 가장 뒤에 있는 정수를 출력한다.
  • empty() : 덱이 비어 있으면 true
  • size() : 덱의 크기를 반환한다.

사용 사례

사실 덱이 자주 쓰이는 편은 아니다.
덱은 주로 앞, 뒤 모두에서 삽입, 삭제가 이루어질 때 사용된다.
또한 덱은 데이터가 가변적일 때 일반적으로 사용된다.

💡 참고 포스팅

[C++] 배열로 구현한 덱(Deque)
[자료구조]덱(Deque)의 이해와 구현
[C++]덱 자료구조 & STL Deque Library 기본 명령어 정리
[자료구조] 덱(Deque)

0개의 댓글