<Infix>
일반적인 수식의 표기법은 infix이다
두개의 피연산자 사이에 연산자가 존재하는 형태이다.
연산자의 우선순위에따라 수행되며 이해하기 쉽다.
무엇보다 일반적인 사용법이기 때문에 직관적으로 받아들일 수 있다.
(
<
연산자를 피연산자의 뒷쪽에 표시하는 방법이다.
Stack을 사용한 컴퓨터의 계산을 위해서 postfix와 prefix가 고안되었다.
변형방법은 괄호로 묶어서 괄호를 하나씩 지우면서 연산자를 뒤로 빼내면 된다.
가장 기본적인 변환방법은 'a + b' > 'a b +' 이다
(
> (((
> (((
> ((
> (
> a
b + c * d / e +
Stack에서의 연산방법은,
1. 피연산자(숫자)가 입력되면, Stack에 넣는다
2. 연산자가 입력되면, Stack에서 피연산자 두개를 꺼내어 계산후 결과를 Stack에 넣는다.
입력 | 동작 | Stack |
a | |
a |
b | |
|
+ | |
( |
c | |
( |
* | |
( |
d | |
( |
/ | |
( |
e | |
( |
+ | |
( |
<
prefix는 연산자를 앞으로 배치하는 방식이다.
변환방법은 postfix와 큰 차이가 없다
(
> (((
> - (((
> - / ((
> - / * (a + b) c d e
> - / * + a b c d e
Stack에서의 연산방법은,
1. 연산자가 입력되면, Stack에 넣는다
2. 연속 두개의 피연산자가 입력되면, Stack에서 피연산자와 연산자를 꺼내어 계산후 결과를 Stack에 넣는다.
입력 | 동작 | Stack |
- |
|
- |
/ |
|
- / |
* |
|
- / * |
+ | |
- / * + |
a | |
- / * + a |
b | |
- / * (a + b) |
c | |
- / (( |
d | |
- (( |
e | |
( |
'프로그래밍 > 이론정리' 카테고리의 다른 글
정렬알고리즘 정리 (0) | 2011.03.01 |
---|---|
네트워크 이론정리 (0) | 2011.02.07 |
운영체제 #4 - 메모리 관리 (0) | 2010.11.15 |
운영체제 #3 - 교착상태 (0) | 2010.11.06 |
운영체제 #2 - 스케줄링 (0) | 2010.11.01 |