Stack은 LIFO(Last In First Out : 마지막에 들어온 데이터가 먼저 나가는 구조)를 가진 자료 구조이다. 데이터가 입력된 순서의 역순으로 처리되기 때문에 여러 방식으로 사용될 수 있다.
- 웹 브라우저 방문기록 (뒤로 가기) : 가장 나중에 열린 페이지부터 다시 보여준다.
- 역순 문자열 만들기 : 가장 나중에 입력된 문자부터 출력한다.
- 실행 취소 (undo) : 가장 나중에 실행된 것부터 실행을 취소한다.
- 후위 표기법 계산
- 수식의 괄호 검사 (연산자 우선순위 표현을 위한 괄호 검사)
시간 복잡도 :
조회, 접근 : Ο(n) , 삽입 삭제 : Ο(1)
import java.util.Stack;
Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
stack.push(3);
stack.peek();
stack.pop();
stack.size();
while (!stack.isEmpty()) {
System.out.println(stack.pop());
}
'Data Structure' 카테고리의 다른 글
[자료구조] Heap (0) | 2023.03.19 |
---|---|
[자료구조] LinkedList (0) | 2023.03.17 |
[자료구조] HashMap : java.util.HashMap (0) | 2023.03.16 |
[자료구조] Array와 Arrays class(java.util.Arrays) (0) | 2023.03.15 |
[자료구조] Queue (0) | 2023.03.14 |