[자료구조] 데크(Deque)

HONGKYUMIN (ANTHONY)·2022년 8월 14일
0

데크(Deque)란?

Double-Ended Queue의 줄임말로 큐의 양쪽으로 엘리먼트의 삽입과 삭제를 수행할 수 있는 자료구조를 의미한다.

데크

데크(Deque)는 어떤 쪽으로 입력하고 어떤 쪽으로 출력하느냐에 따라서 스택(Stack)으로 사용할 수도 있고, 큐(Queue)로도 사용할 수 있다.
특히 한쪽으로만 입력 가능하도록 설정한 데크를 스크롤(scroll)이라고 하며, 한쪽으로만 출력 가능하도록 설정한 데크를 셸프(shelf)라고 한다.

자바에서의 덱은 인터페이스로 구현되었다. 덱 자료구조의 여러 연산들을 정의한 Deque 인터페이스가 있고 이를 구현한 ArrayDeque, LinkedBlockingDeque, ConcurrentLinkedDeque, LinkedList 등의 클래스가 있다.

데크 선언

Deque< E > dq = new ArrayDeque< E >();

데크(Deque)의 메소드

기존 Queue와 Stack의 메소드에서 First, Last를

삽입

  • addFirst( )
  • addLast( )
  • offerFirst( )
  • offerLast( )

추출

  • pollFisrt( )

  • pollLast( )

  • peekFirst( )

  • peekLast( )



Reference

월급쟁이의 경제적 자유

profile
매일매일 성장하는 개발자

0개의 댓글