본문 바로가기

수업내용정리/자료구조

[자료구조][C언어]스택이란?_스택의 개념(1)

스택이란?

Stack, 즉 쌓아놓은 더미이다

 

스택은 왜 사용하는 것일까??

다른 구조에 비해 단순하여 구현이 쉽고,

트리나 그래프 등의 다른 자료구조의 연산에서도 종종 사용되기 때문이다.

또한 괄호가 올바른지, 후위 표기식의 계산, 그리고 회문 검사 등등 다양한 알고리즘을 푸는 데 사용되기도 한다.

스택의 구조 및 연산

스택의 구조

0개 이상의 원소를 가지는 유한 선형 리스트이다.

 

스택의 연산

Push(삽입) : 스택의 상단에 데이터를 추가

Pop(제거) : 스택의 상단의 데이터를 삭제

isFull : 스택이 꽉 차있는지 검사

isEmpty : 스택이 비어있는지 검사

peek : 스택의 최상단 원소가 무엇인지 확인

 

 

스택의 특징

다른 구조에비해 단순하여 구현이 쉽다.

데이터의 접근은 상단(Top)에서만 가능하다

후입 선출(LIFO:Last-In First-Out): 가장 최근에 들어온 데이터가 가장 먼저 나감

 

 

 

다음 시간엔 C로 어떻게 스택을 구현하는지 알아보도록 할 것이다.

 

참조

천인국 외 2인 , C언어로 쉽게 풀어쓴 자료구조, 생능출판, 2019