Loading...
2022. 8. 22. 20:33

중위표기법을 후위표기법으로 바꾸고 이를 계산하는 알고리즘 2편

1. 후위표기식 계산 중위표기식을 알고리즘에 의해 후위표기식으로 바꾼 뒤에 이를 계산하는 방법은? 앞에서부터 차례로 읽어나가다가, 연산자를 만난다면, 바로 앞에 있는 두개의 피연산자를 해당 연산자로 계산하면 된다 특히 주의할 점이 -와 /인데, 먼저 꺼낸 피연산자가 오른쪽에 위치해야한다. 2. 알고리즘 후위표기식을 앞에서부터 차례로 읽어나간다. 2-1) 피연산자를 만나면 스택에 push 2-2) 연산자를 만나면 피연산자를 스택에서 차례로 pop하여 2개를 pop하면 연산을 수행하고, 결과를 다시 스택에 push한다. 2-3) 수식을 전부 읽으면 마지막에 남은 스택을 pop하여 출력 3. 예시를 통한 설명 피연산자 6,5,2,8을 읽어들이면 차례로 stack에 push합니다 피연산자 -를 읽으면, 스택에서..

2022. 8. 22. 20:07

사칙연산 중위표기법을 후위표기법으로 바꾸는 알고리즘 1편

1. 문자열로 된 수식 문자열로 된 계산 수식은 어떻게 계산할까? eval()함수는 문자열 수식을 받으면 계산해주는데 어떻게 계산하는 것일까? 스택을 이용하면 이러한 문자열 수식을 계산할 수 있다 1-1) 중위표기법의 수식을 후위표기법으로 변경 1-2) 후위표기법 수식을 스택을 이용하여 계산 2. 중위표기법과 후위표기법 중위표기법(infix)은 연산자를 피연산자의 가운데 표기하는 방식 예) A + B 후위표기법(postfix)은 연산자를 피연산자 뒤에 표기하는 방식 예) AB+ 컴퓨터가 후위표기법으로 계산을 한다고한다 중위표기법은 계산을 위해서는 앞에서부터 끝까지 읽으면서 왔다갔다해야 수식을 다 계산할 수 있음 왜냐하면 괄호, 사칙연산의 우선순위 때문에 반대로 후위표기법은 한번만 앞에서 끝까지 읽으면 계..