스택이란?
스택은 원소의 삽입과 삭제가 리스트의 한쪽 끝에서만 수행되는 선형 자료구조이다. 나중에 들어온 원소가 제일 먼저 나가는 후입선출(LIFO: Last In First Out) 구조를 갖는다. 책을 상자 안에 쌓아서 넣을 때, 나중에 쌓은 책을 먼저 빼는 모양을 생각할 수 있다.
스택 안에 원소를 집어넣는 push연산, 삽입된 원소를 빼내는 pop연산, 제일 위에 있는 원소값을 반환하는 peek연산을 갖는다. 컴퓨터 내부에서 프로그램에 대한 정보를 저장하는 자료구조에도 쓰이는 등 컴퓨터 내부에서도 많이 사용된다.
간단하게 구현가능하면서도 여러 상황에 응용할 수 있어 많이 쓰이는데 힙 영역에 데이터를 저장하거나 재귀함수를 호출하는 과정도 스택 형태로 사용된다.
'CS > 자료구조' 카테고리의 다른 글
[자료구조] 큐 (Queue) (0) | 2021.04.17 |
---|---|
[Python] 스택 구현 (0) | 2020.10.24 |
[Python] 단순 연결리스트 구현 (0) | 2020.10.23 |
[자료구조] 연결 리스트(Linked List) (0) | 2020.10.22 |
추상 데이터 타입(ADT: Abstract Data Type) (0) | 2020.10.08 |