IT개발/DataBase
[데이터베이스DB] 수식의 표기법(Prefix, Infix, Postfix) 실습 및 정리
Thompson
2024. 5. 12. 22:46
728x90
반응형

수식의 표기법(Infix => Postfix )
Infix로 표기된 수식에서 연산자를 해당 피연산자 두 개의 뒤(오른쪽)에 오도록 이동하면 Postfix가 됩니다.
X = A / B * (C + D) + E ====> X A B / C D + * E + = |
- 연산 우선순위에 따라 괄호로 묶는다.
( 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 |
- 연산 우선순위에 따라 괄호로 묶는다.
( 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 ) |
- 인접한 피연산자 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 )