수식을 가지고있는 과제가 있습니다. x+(y*z)
을 입력하고 이진 트리로 변환해야합니다. 나는 온라인으로 보았고 infix
과 postfix
과 같은 키워드를 보았고 정규식을 더 쉽게 이진 트리로 쉽게 변환 할 수있는 형식으로 변환하는 데 도움이됩니다.표현식을 이진 트리로 변환하는 알고리즘
내 유일한 문제는이 infix
또는 postfix
메서드를 배운 적이 없으므로 다른 방법으로 변환 할 수 있습니까, 아니면 유일한 방법입니까? 나는 위로 찾는 것으로 시도했다. 그러나 이것들은 내가 얻었던 유일한 결과이었다.
온라인 리소스를 사용하지 않고도 해결하기가 어려운 문제입니다.
는 [차량 기지 알고리즘의 상세한 설명에서 좀 (https://en.wikipedia.org/ 걸릴 wiki/Shunting-yard_algorithm) - 중위어 (예 :'x + (y * z)')를 후위 (예 :'xyz * +')로 변환하려고합니다. –
접미사와 접미사 (및 접두어)는 2 진수 연산자를 나타내는 방법입니다. 정규식은 Kleene 스타와'+'와 같은 단항 연산자 만 가질 수 있습니다. 정규 표현식이나 산술 표현식을 다루고 있습니까? –
변수가있는 표현식입니다. 예 : -x, (x + y), (x * (x + y)) –