[Data Structure] 수식 표기법 (전위/중위/후위)
2021. 12. 2. 17:05ㆍMajor`/자료구조
수식 표기법
- 전위(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)