큐와 스택, 데크는 모두 일렬의 자료들을 저장하는 자료 구조들이다.
이 세 자료구조는 어디서 자료를 넣고 어디서 자료를 뺄 수 있는가의 차이이다.
큐(queue)는 선입선출(First In First Out,FIFO) 의 방식으로 한쪽 끝에서 자료를 넣고 반대쪽 끝에서 자료를 뺄 수 있는 구조이다.
스택(stack)은 후입선출(Last In Firt Out,LIFO) 의 방식으로 한쪽 끝에서 자료를 넣고 뺄 수 있는 자료 구조이다.
컴퓨터는 내부적으로 스택을 이용해 프로그램의 Context를 관리하여 함수의 호출이 끝나면 바로 이전 호출된 함수로 돌아가도록 한다.
데크(deque)는 양 방향으로 자료를 넣고 뺄 수 있는 자료 구조로 큐와 스택을 모두 구현할 수 있다.
double ended queue의 줄임말이다.
'DEVELOP > 자료구조' 카테고리의 다른 글
2. 스택 - 괄호의 값 문제 (2504) (0) | 2019.01.11 |
---|---|
1. 선형자료구조 - 조세퍼스 문제(1158) (0) | 2019.01.10 |
1. 선형자료구조 - 연결리스트(Linked List) (0) | 2019.01.08 |
1. 선형자료구조 - 동적배열(Dynamic Array) (0) | 2019.01.08 |