Data Structure

[자료구조] Stack

openDeveloper 2023. 3. 13. 17:51

 Stack은 LIFO(Last In First Out : 마지막에 들어온 데이터가 먼저 나가는 구조)를 가진 자료 구조이다. 데이터가 입력된 순서의 역순으로 처리되기 때문에 여러 방식으로 사용될 수 있다.

  • 웹 브라우저 방문기록 (뒤로 가기) : 가장 나중에 열린 페이지부터 다시 보여준다.
  • 역순 문자열 만들기 : 가장 나중에 입력된 문자부터 출력한다.
  • 실행 취소 (undo) : 가장 나중에 실행된 것부터 실행을 취소한다.
  • 후위 표기법 계산
  • 수식의 괄호 검사 (연산자 우선순위 표현을 위한 괄호 검사)

출처 : https://devuna.tistory.com/22

 

시간 복잡도 :

조회, 접근 : Ο(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