데크(Deque) = 덱(Deck)

자료구조

2020. 11. 14.

데크란?

리스트의 양쪽 끝에서 삽입과 삭제가 모두 이루어지는 자료구조.

스택과 큐를 혼합한 구조.
많이 사용되지는 않는다.

 

운영 개념

초기 상태에서 A, B/C의 삽입이 발생하면, 최종을 가리키는 end1, end2가 위치를 잡는다.

이때 B에 이어 C가 입력되면 end1은 C를 가리킨다.

이런 식으로 계속 추가 입력이 있을 때마다 end1, end2는 마지막을 가리키도록 이동한다.

한쪽의 입력이 많아서 다른 쪽과 충돌하면 자리의 이동을 통해 재배치시킨다.

 

구현 방법

하나의 배열을 선언한 후, 2개의 포인터로 양쪽 끝을 가리키고,

이것을 이용하여 양쪽에서 삽입, 삭제 연산을 수행한다.

 

종류

입력 제한 데크(스크롤) : 삽입이 한쪽에서만 일어나는 데크

출력 제한 데크(셀프) : 삭제가 한쪽에서만 일어나는 데크

'자료구조' 카테고리의 다른 글

이진 트리(Binary Tree)  (0) 2020.11.14
트리(Tree)  (0) 2020.11.14
큐(Queue)  (0) 2020.11.14
스택(Stack)  (0) 2020.11.14
배열(Array)  (0) 2020.11.14