본문 바로가기
카테고리 없음

자료구조(13) - 스택의 응용 : 수식계산

by 고유빙글 2021. 4. 17.

 - 수식의 표기법

            : 전위 표기식

                         : 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