본문 바로가기
CS/자료구조

[자료구조] Stack과 Queue

by thedev 2023. 10. 6.

 

Stack과 Queue

 


 

 스택(Stack)과 큐(Queue)는 데이터를 임시로 저장하기 위해 디자인된 추상적인 데이터 구조이다. 데이터를 저장하는 순서에 따라 구분된다.

 

 

# 스택(Stack)

 

 

 한쪽 끝이 막혀 있는 형태의 저장 공간이다. 데이터가 차곡차곡 쌓아 올려지는 형태로 저장되고, 저장한 자료를 빼낼 때는 마지막으로 저장한 데이터부터 사용하게 된다. 즉, 나중에 저장한 데이터를 가장 먼저 사용하는 데이터 관리 방식인 후입선출 방식(LIFO, Last In First Out)이다. 데이터는 스택의 끝에서만 삽입, 삭제할 수 있으며 스택의 마지막 원소만 읽을 수 있다.

 

스택 사용 사례 : 웹 브라우저 방문 기록 (뒤로 가기), 실행 취소 등

 

 

# 큐 (Queue)

 

 

 스택과는 달리 양쪽이 열려 있는 형태의 저장 공간이다. 한쪽으로는 데이터를 저장하고, 다른 한쪽으로는 저장한 순서대로 데이터를 사용한다. 즉, 가자 먼저 저장된 데이터부터 빼내는 데이터 관리방식인 선입선출 방식(FIFO, First In First Out)이다. 큐의 끝에서만 데이터를 삽입할 수 있고, 삭제는 큐의 앞에서만 가능하다. 또한 큐의 앞에 있는 원소만 읽을 수 있다. 

 

큐 사용 사례 : 프로세스 관리, 대기열 순서 작업

 


 

참고 자료

책 '누구나 자료 구조와 알고리즘 개정2판' 9장

책 '혼자 공부하는 컴퓨터구조 + 운영체제' 3장

https://youtu.be/Nk_dGScimz8

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

[자료구조] Hash Table  (0) 2023.05.03
[자료구조] 정렬  (0) 2023.04.02
[자료구조] Big O  (0) 2023.03.24
[자료구조] 선형 검색과 이진 검색  (0) 2023.03.20
[자료구조] 배열  (0) 2023.03.11