- 수식의 표기법
: 전위 표기식
: A + B
: 전위 표기식
: A + B =-> +AB
: 변경하는 방법
: A / B + C - D * E
-> ( ( A / B ) + C )- ( D * E )
-> -( + ( /AB ) C ) * DE
-> -+/ABC * DE
: 후위 표기식
: A + B =-> AB+
: 변경하는 방법
: A / B + C - D * E
-> ( ( A / B ) + C )- ( D * E )
-> ( ( AB / C ) + (DE * ) )-
-> AB/C+DE*-
- 후위식의 연산
: 스택을 이용해 ( ( A * B ) - ( C / D ) )를 연산하기 위해서는 후위표기식으로 변환해야 한다.
연산식을 후위효기식으로 변환한하면 AB*CD/- 가 된다.
: PUSH A -> PUSH B -> POP B, POP A , *연산
PUSH A * B -> PUSH C -> PUSH D -> POP D, POP C, / 연산
POP C/D, POP A*B, -연산
PUSH ( A*B ) - ( C/D )
가 된다.
- 중위 표기를 후위 표기로 변환
: 스택을 응용해 중위 표기를 후위표기로 변환할 수 있다.
: 방법은 이러한 순서다.
: 1. 왼쪽 괄호를 만나면, 무시하고 다음 문자를 읽는다.
: 2. 피연산자를 만나면 출력한다.
: 3. 연산자를 만나면 스택에 넣는다.
: 4. 오른쪽 괄호를 만나면 스택을 pop하여 출력한다.
: 5. 수식이 끝나면 스택이 공백이 될 때까지 pop 하여 출력한다.
( 출처 : ppomelo.tistory.com/46 )
[자료구조] 후위표기식 변환 postfix / 스택
후기표기식 변환 중위표기 수식을 후위표기 수식으로 변환 알고리즘 개요 수식의 각 연산자에 대해 우선순위에 따라 괄호를 적용 각 연산자를 그에 대응하는 오른쪽 괄호 뒤로 이동 괄호를 제
ppomelo.tistory.com