본문 바로가기
Develop/Algorithm

스택(Stack)과 큐(Queue)

by jaeyoungb 2022. 9. 22.

스택(Stack)은 데이터를 순서대로 쌓는 자료구조이다.

 

모두가 아는 대표적인 예로 프링글스가 있다.

또, 브라우저의 뒤로 가기, 앞으로 가기 기능을 예로 들 수 있다.

 

후입선출(LIFO), 가장 마지막에 들어간 데이터가 가장 먼저 나오게 되는 자료구조이다.

 

스택(Stack)의 특징은 입출력 방향이 한 개로, 같다.

 

하나의 방향으로 입력되고 다시 그 방향으로 출력이 된다. 쌀보리를 하는 내 주먹과 같이 말이다.

 

 

 

큐(Queue)는 순서대로 들어간 데이터가 그 순서대로 나오는 자료구조이다.

 

톨게이트를 지나는 차량들에 비유할 수 있다.

 

선입선출(FIFO), 가장 먼저 들어간 데이터가 가장 먼저 나오게 되는 자료구조이다.

큐(Queue)에 데이터를 넣는 것은 'enqueue', 데이터를 꺼내는 것은 'dequeue'라고 한다.

 

큐(Queue)의 특징은 스택(Stack)과 다르게 입력과 출력의 방향이 다르다. (입출력 방향이 한 개가 아님)

 

하나의 방향으로 입력이 들어오면, 다른 방향으로 출력이 된다.

 

'Develop > Algorithm' 카테고리의 다른 글

그래프(Graph) 구조  (0) 2022.09.24
트리(Tree) 구조  (0) 2022.09.24
재귀 함수와 메모리 사용량 관계 _ 꼬리 재귀  (1) 2022.09.21
재귀(Recursion)  (1) 2022.09.20
배열  (0) 2022.09.06