1. 스택(Stack)
스택은 나중에 들어온 데이터가 먼저 나가게되는 후입선출(LIFO)의 선형 자료구조이다. 스택에 삽입된 데이터들은
스택의 끝 부분인 스택 탑(stack top)에 쌓이듯이 저장되며 데이터 하나를 추출할 때도 현재 스택 탑에 있는 데이터가
가장 먼저 추출된다. 주요 연산은 다음과 같다.
- 데이터 삽입
- push(e) : 데이터 e를 스택 탑에 삽입
- 데이터 삭제
- pop() : 스택 탑의 데이터를 스택에서 제거하고 제거한 데이터를 반환
2. 스택의 활용
- 후위표기법의 계산 및 괄호의 매칭에 활용된다.
- 자료구조의 성질상 이전 작업 흐름으로 복귀하는 기능의 구현에 편리하다. 예를들어 현재 진행중인 작업을 잠시
중단하고 다른 작업을 해야할 경우, 스택에 진행중이던 작업 정보를 넣어두고 다른 작업을 진행한 뒤 스택에 넣어둔
정보를 pop 하여 다시 작업을 진행할 수 있다. - 위의 특징을 활용하여 그래프의 깊이우선 탐색에 스택의 원리가 사용되며 프로그램에서 함수를 호출할 때 함수의
정보를 저장하는 데에도 사용된다.
'CS > 자료구조' 카테고리의 다른 글
#5 그래프(Graph) (0) | 2021.10.01 |
---|---|
#4 큐(Queue) (0) | 2021.09.28 |
#2 양방향 연결 리스트(Doubly Linked List) 구현 (0) | 2021.09.27 |
#1 리스트(List) (0) | 2021.09.27 |
#0 ADT(Abstract Data Type) (0) | 2021.09.27 |