스택
- 객체와 그 객체가 저장되는 순서를 기억하는 방법(연산) 에 관한 자료구조
- 0개 이상의 원소를 갖는 유한 순서 리스트
- push 와 pop 연산이 한 곳에서 발생되는 자료구조
선입후출 관계를 표현하기 위해 연산이 필요, 객체에 대한 정의와 연산이 모여 순서가 기억되는 스택의 추상 자료형이 완성됨
추상자료형: 객체 + 연산 구체적 연산(삽입, 삭제)을 위해서는 인덱스가 필요
스택의 추상자료형
스택 객체: 0개 이상의 원소를 갖는 유한 순서 리스트
스택은 연산이 제한적이다
자료구조는 데이터 사이의 관계를 구조화 한 것 객체와 연산에 대한
스택에 max size 를 주면 더이상 데이터를 받지 않는다
스택의 응용
- 변수에 대한 메모리의 할당과 수집을 위한 시스템 스택
- 서브루틴 호출 관리를 위한 스택
- 연산자 우선순위
- 인터럽트 처리와 되돌아갈 명령 수행 지점 저장
- 컴파일러, 순환 호출 관리
서브루틴 호출 관리 스택
자바스크립트 콜스택과 같이 운영체제에서 시스템을 수행하기 위한 스택
사칙연산의 전/후/중위 표현
연산자의 계산 우선순위를 생각해야 한다
수식의 표기 방법
- 중위 표기법
A + B
주로 사람이 보기 편한 방법
- 전위 표기법
+AB
- 후위 표기법
AB+
후위 표기법과 스택을 함께 사용하면 컴퓨터에서 사용하기 좋다
후위 표기법
중위 -> 후위로 변경 시
A - ((B + K) / D)
-> A - ((BK+) / D)
-> A - ((BK+)D/)
-> A((BK+)D/)-