중위 표기법

    자료구조 - 전위, 중위, 후위 표기법

    전위, 중위, 후위 표기법을 정리해보고자 한다. 전위, 중위, 후위 표기법 위 3가지 표기법의 차이점은 연산자의 위치이다. 전위 표기법(Prefix)은 연산자가 피연산자 앞에, 중위 표기법(Infix)은 연산자가 피연산자 사이에, 후위 표기법(Postfix)은 연산자가 피연산자 뒤에 온다. 1 + 2 * (3 - 4) * 5라는 식을 예로 들었을 때 전위 표기법은 + 1 * * 2 - 3 4 5 후위 표기법은 1 2 3 4 - * 5 * +이다. 이제 어떻게 변환이 되는 것인지 알아보자. 중위 표기법을 전위 표기법 & 후위 표기법으로 중위 표기법을 전위, 후위 표기법으로 바꾸는데 가장 많이 쓰이는 방법은 괄호를 이용하는 것이다. 먼저 전위 표기법의 변경 순서는 다음과 같다. 1. 연산 순서대로 괄호를 묶..

    Java - 중위 - 후위 표기법 변환 & 후위 표기법 계산

    간단하게 계산기를 만들던 중 식을 후위로 변환하고 계산할 필요가 생겨 이를 정리해보고자 한다. 간단하게 만들어본 계산기인데 연산자 우선순위에 맞게 계산하려고 하니 막히는 부분이 많았다. 그래서 검색을 한 결과 식을 후위 표기법으로 바꾼 후 계산하는 것이 일반적이라는 것을 알았다. 중위 - 후위 변환 먼저 중위 표기법인 위 식을 후위 표기법으로 변환해 보자. 위 식 "22 + 4 * 36 - 7"을 이진트리 형태로 보면 아래와 같다. 중위 표기법은 22 + 4 * 36 - 7 후위 표기법은 22 4 36 * + 7 - 이다. 이제 변환하는 코드를 짜보자. 변환을 위해 HashMap, Stack, ArrayList를 활용했다. HashMap은 굳이 써야 할까 고민했지만 함수를 공부한다는 느낌으로 사용했다. ..