데크(Double-ended Queue; Deque)란 양쪽 끝에서 삽입과 삭제를 허용하는 자료구조입니다. 스택과 큐 자료구조를 혼합한 자료구조라고 할 수 있습니다. 예를 들어 스크롤, 문서 편집기 등의 undo 연산, 웹 브라우저의 방문 기록 등에 사용됩니다. 웹 브라우저 방문 기록의 경우, 최근 방문한 웹 페이지 주소는 앞에 삽입하고 일정 수의 새 주소들이 앞쪽에서 삽입되면 뒤에서 삭제가 수행됩니다. 데크를 배열이나 이중 연결 리스트로 구현한 경우, 스택과 큐의 연산 수행 시간과 같습니다. 하지만 양 끝에서 삽입과 삭제를 할 수 있으므로 프로그램이 복잡해집니다. 자바는 java.util 패키지에서 Deque 인터페이스를 제공하며 이는 Queue에서 상속됩니다. 주요 메소드 삽입 addFirst(): ..