본문 바로가기
IT개발/DataBase

[데이터베이스DB] 수식의 표기법(Prefix, Infix, Postfix) 실습 및 정리

by Thompson 2024. 5. 12.
728x90
수식의 표기법(Infix => Postfix )

Infix로 표기된 수식에서 연산자를 해당 피연산자 두 개의 뒤(오른쪽)에 오도록 이동하면 Postfix가 됩니다.

X = A / B * (C + D) + E ====> X A B / C D + * E + =

 

  1. 연산 우선순위에 따라 괄호로 묶는다.
( X = ( ( ( A / B ) * ( C + D ) ) + E ) ) 

 

    2. 연산자를 해당 괄호의 뒤로 옮긴다.

X = ( ( ( A / B ) * ( C + D ) ) + E ) ) 
( X ( (  ( A B ) / ( C D )  + ) * E ) + ) =

 

    3. 괄호를 제거한다.

X A B / C D + * E + =

 

수식의 표기법(Infix => Prefix)

Infix로 표기된 수식에서 연산자를 해당 피연산자 두 개의 앞(왼쪽)에 오도록 이동하면 Prefix가 됩니다.

X = A / B * ( C + D ) ====> X + * / A B + C D E

 

  1. 연산 우선순위에 따라 괄호로 묶는다.
( X = ( ( ( A / B ) * ( C + D ) ) + E ) ) 

 

    2. 연산자를 해당 괄호의 앞으로 옮긴다.

( X = ( ( ( A / B ) * ( C + D ) ) + E ) )
= ( X + ( * ( / ( A B ) + ( C D ) ) E ) )

 

    3. 괄호를 제거한다.

= X + * ? A B + C D E

 

수식의 표기법(Postfix => Infix)

Postfix는 Infix 표기법에서 연산자를 해당 피연산자 2개의 뒤(오른쪽)로 이동한 것이므로 연산자를 다시 해당 피연산자 2개의 가운데로 옮기면 됩니다.

A B C - / D E F + * + =======> A / ( B - C ) + D * ( E + F )

 

  1. 인접한 피연산자 2개와 오른쪽의 연산자를 괄호로 묶는다.
( ( A ( B C - ) / ) ( D ( E F + ) * ) + )

 

    2. 연산자를 해당 피연산자의 가운데로 이동시킨다.

( ( A ( B C - ) / ) ( D ( E F + ) * ) + )
( ( A / ( B - C ) ) + ( D * ( E + F ) ) )

 

    3. 괄호를 제거한다.

A / ( B - C ) + D * ( E + F )