본문 바로가기

DEVELOP/자료구조

2. 큐 / 스택 / 데크 (Queue, Stack, Deque)

큐와 스택, 데크는 모두 일렬의 자료들을 저장하는 자료 구조들이다.

이 세 자료구조는 어디서 자료를 넣고 어디서 자료를 뺄 수 있는가의 차이이다.


큐(queue)는 선입선출(First In First Out,FIFO) 의 방식으로 한쪽 끝에서 자료를 넣고 반대쪽 끝에서 자료를 뺄 수 있는 구조이다.


스택(stack)은 후입선출(Last In Firt Out,LIFO) 의 방식으로 한쪽 끝에서 자료를 넣고 뺄 수 있는 자료 구조이다.

컴퓨터는 내부적으로 스택을 이용해 프로그램의 Context를 관리하여 함수의 호출이 끝나면 바로 이전 호출된 함수로 돌아가도록 한다.


데크(deque)는 양 방향으로 자료를 넣고 뺄 수 있는 자료 구조로 큐와 스택을 모두 구현할 수 있다.

double ended queue의 줄임말이다.