* 덱(Deque)
ⓐ 특징
- 두 개의 끝을 가지는 큐
- Double Ended Queue의 약자
- 구조의 앞과 뒤에서 모두 추가/삭제가 가능한 구조
- 큐와 스택의 기능을 합친 자료구조
ⓑ 변수
- 맨 앞을 가르키는 front
- 맨 뒤를 가르키는 rear
ⓒ 함수
- makeDeque() : 덱 생성
- insertFront() : 맨 앞에 자료 추가
- insertRear() : 맨 뒤에 자료 추가
- deleteFront() : 맨 앞의 자료 삭제
- deleteRear() : 맨 뒤의 자료 삭제
ⓓ 구현
- 배열 이용 / 특이 사항 없음
- 리스트 이용
> 단일 링크드리스트를 사용하면 자료의 맨끝(rear)에 자료를 삭제 할시 문제가 발생한다.
> 이중 링크드리스트 사용을 추천한다.
-------------------------------------------------------------------------------------
Deque에 대해서 간단히 알아봤습니다.
앞의 스택과 큐를 응용하면 쉽게 구현이 됩니다. 딱히 구현하지 않으려고합니다.
ⓐ 특징
- 두 개의 끝을 가지는 큐
- Double Ended Queue의 약자
- 구조의 앞과 뒤에서 모두 추가/삭제가 가능한 구조
- 큐와 스택의 기능을 합친 자료구조
ⓑ 변수
- 맨 앞을 가르키는 front
- 맨 뒤를 가르키는 rear
ⓒ 함수
- makeDeque() : 덱 생성
- insertFront() : 맨 앞에 자료 추가
- insertRear() : 맨 뒤에 자료 추가
- deleteFront() : 맨 앞의 자료 삭제
- deleteRear() : 맨 뒤의 자료 삭제
ⓓ 구현
- 배열 이용 / 특이 사항 없음
- 리스트 이용
> 단일 링크드리스트를 사용하면 자료의 맨끝(rear)에 자료를 삭제 할시 문제가 발생한다.
> 이중 링크드리스트 사용을 추천한다.
-------------------------------------------------------------------------------------
Deque에 대해서 간단히 알아봤습니다.
앞의 스택과 큐를 응용하면 쉽게 구현이 됩니다. 딱히 구현하지 않으려고합니다.
내일은 큐의 응용 분야를 살펴보고, 다음으로 넘어가도록 하겠습니다.