상세 컨텐츠

본문 제목

#1. 스택과 큐

Studying (Review)/ALGORITHM

by 잼(JAM) 2021. 10. 11. 01:48

본문

반응형

1. 스택

  • 영어로 Stack은 '쌓다'라는 의미를 가지고 있다.
  • 프로그래밍 중 목록 혹은 리스트에서 한 쪽에서만(한 방향) 접근이 가능한 구조를 말한다.
  • LIFO(Last - In, First - Out)가 기본적인 원리이다.

 

오른쪽 그림과 같이 책을 쌓고자 할 때,

책을 아래부터 위 순서대로 쌓는것이 편하듯

 

목록 혹은 리스트에 대하여

순서대로 쌓아가며 데이터를 정리하는 것

스택의 구조라고 할 수 있겠다.

 

다만, 아래의 책을 꺼내고 싶어도

밑장에서 빼기를 하는 것이 어려운 것처럼

 

스택 구조에서는

데이터를 정리된 순서의 역순으로 확인하거나 꺼낼 수 있다.

(기본적인 원리는 그러함)

 

※ 스택의 활용

  • 주로 웹브라우저에서 이전 페이지나 다음 페이지와 같은 기능 구현에 스택 구조가 활용된다

2. 큐

  • 영어로 Queue은 '대기열'라는 의미를 가지고 있다.
  • 프로그래밍 중 목록 혹은 리스트에서 양쪽에서(양방향) 접근이 가능한 구조를 말한다.
  • FIFO(First - In, First - Out)가 기본적인 원리이다.

위의 그림과 같은 컨베이어 벨트가 있을 때,

물건이 들어간 순서대로 다시 나오는 것과 같이

 

목록 혹은 리스트에 대하여

순서대로 입력과 출력이 되는 데이터 구조가 큐의 구조이다.

 

구조와 같이 가장 먼저 들어간 물건이

가장 먼저 나오게 되는 것처럼

 

데이터가 정리된 순서대로

확인 및 출력이 가능하다. (기본적 원리)

 

 

※ 큐의 활용

  • 주로 프린터 인쇄 대기열 같은 기능 구현에 큐 구조가 활용된다.

 

#알고리즘기본용어정리 #알고리즘기초

반응형

댓글 영역