230102 스택, Stack

Jongleee·2023년 1월 2일
0

TIL

목록 보기
145/576

한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out) 형식의 자료 구조

연산

LIFO 즉, 가장 최근에 스택에 추가한 항목이 가장 먼저 제거

pop(): 스택에서 가장 위에 있는 항목을 제거
push(item): item 하나를 스택의 가장 윗 부분에 추가
peek(): 스택의 가장 위에 있는 항목을 반환
isEmpty(): 스택이 비어 있을 때에 true를 반환

사용 사례

  1. 재귀 알고리즘
    재귀적으로 함수를 호출해야 하는 경우에 임시 데이터를 스택에 넣고 재귀함수를 빠져 나와 퇴각 검색(backtrack)을 할 때는 스택에 넣어 두었던 임시 데이터를 제거함
  2. 웹 브라우저 방문기록 (뒤로가기)
  3. 실행 취소 (undo)
  4. 역순 문자열 만들기
  5. 수식의 괄호 검사 (연산자 우선순위 표현을 위한 괄호 검사)
    Ex) 올바른 괄호 문자열(VPS, Valid Parenthesis String) 판단하기
  6. 후위 표기법 계산

출처:https://gmlwjd9405.github.io/2018/08/03/data-structure-stack.html

0개의 댓글