스택 (Stack)

stack thumbnail.png
스택은 후입선출(LIFO, Last-In-First-Out)의 구조를 가지는 자료구조이다.
Pasted image 20230930175535.png|400

그림과 같이 한 쪽에서만 데이터를 넣고 뺄 수 있다. 정해진 Stack의 사이즈보다 많은 데이터를 쌓으려고할 때 StackOverFlow가 일어난다. Stack은 추상적인 자료 구조로서 배열연결 리스트로 구현할 수 있다.
Stack은 중첩 혹은 재귀 함수를 구현하는데 있어서 중요한 방법이며, DFS를 구현하는데 사용된다.

시간 복잡도

동작 Big-O
Top/Peek O(1)
Push O(1)
Pop O(1)
isEmpty O(1)
Search O(n)

필수 질문

추천 연습 문제


참조
Array cheatsheet for coding interviews | Tech Interview Handbook