[Data Structure] Stack

Seohyun·2022년 3월 30일
0

자료구조

목록 보기
2/5
post-thumbnail
  1. Stack의 개념

    한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO 형식의 자료구조

  2. Stack의 사용 사례

    재귀 알고리즘을 사용하는 경우 스택이 유용함

    • 재귀 알고리즘
      • 재귀 적으로 함수를 호출해야 하는 경우에 임시 데이터를 스택에 넣어줌
      • 재귀 함수를 빠져 나와 퇴각 검색(backtrack)을 할 때는 스택에 넣어 두었던 임시 데이터를 빼줘야 함
      • 스택은 이런 일련의 행위를 직관적으로 가능하게 해줌
      • 스택은 재귀 알고리즘을 반복적 형태를 통해 구현할 수 있게 해줌
    • 웹 브라우저 방문 기록 (뒤로가기)
    • 실행 취소 (Undo)
    • 역순 문자열 만들기
    • 수식의 괄호 검사 (연산자 우선순위 표현을 위한 괄호 검사)
    • 후위 표기법 계산
  3. Python Stack

    • push() : 스택에 원소 추가
    • pop() : 스택 가장 위에 있는 원소를 삭제하고, 그 원소를 반환
    • peek() : 스택 가장 위에 있는 원소를 반환 (삭제X)
    • empty() : 스택이 비어 있다면 1, 아니면 0을 반환

➰ References

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

0개의 댓글