-> 블로그 이전

[Data Structure] 수식 표기법 (전위/중위/후위)

2021. 12. 2. 17:05Major`/자료구조

수식 표기법

- 전위(prefix) : 연산자(+,-,/,*)를 먼저 표시

- 중위(infix) : 보통 우리가 쓰는 수식 표기법

- 후위(postfix) : 피연산자를 먼저 표시

 

 

① 중위 → 후위 : 8/2-3+3×2

1. 연산자 우선순위에 맞게 괄호로 묶기

(1) (8/2)

(2) (3×2)

(3) ((8/2)-3)

(4) (((8/2)-3) + (3×2))

(((8/2)-3) + (3×2))

 

2. 연산자를 괄호 우측으로 옮기기 (괄호로 적게 묶인 연산자부터 가장 바깥 괄호로)

(((82)/3)-(32)×)+

 

3. 괄호 없애기

82/3-32×+

 

 

② 중위 → 전위 : 8/2-3+3×2

1. 연산자 우선순위에 맞게 괄호로 묶기

(1) (8/2)

(2) (3×2)

(3) ((8/2)-3)

(4) (((8/2)-3) + (3×2))

 (((8/2)-3) + (3×2))

 

2. 연산자를 괄호 좌측으로 옮기기 (괄호로 적게 묶인 연산자부터 가장 바깥 괄호로)

+(-(/(82)3)×(32))

 

3. 괄호 없애기

+-/823×32

 

 

③ 후위 -> 중위 : 82/3-32×+

1. '(피연산자 피연산자)연산자' 로 괄호 묶기

(1) (82)/

(2) (32)×

(3) ((82)/3)-

(4) (((82)/3)-(32)×)+

(((82)/3)-(32)×)+

 

2. 연산자를 '연산자와 만나는 첫번째 괄호' 안에 피연산자 사이에 넣기

(1) (((82)/3)-(32)×)+

(2) (((8/2)-3)(32)×)+

(3) (((8/2)-3)+(3×2))

(((8/2)-3)+(3×2))

 

3. 가장 바깥 괄호 삭제

((8/2)-3)+(3×2)

 

 

④ 전위-> 중위 : +-/823×32

1. '연산자(피연산자 피연산자)' 로 괄호 묶기

(1) /(82)

(2) ×(32)

(3) -(/(82)3)

(4) +(-(/(82)3)×(32))

+(-(/(82)3)×(32))

 

2. 연산자를 '연산자와 만나는 첫번째 괄호' 안에 피연산자 사이에 넣기

(1) +(-(/(82)3)×(32))

(2) +(((8/2)-3)(3×2))

(3) (((8/2)-3)+(3×2))

 (((8/2)-3)+(3×2))

 

3. 가장 바깥 괄호 삭제

 ((8/2)-3)+(3×2)