Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

데이터 구조의 접두사 및 접미사 식


산술식을 작성하는 방법을 표기법이라고 합니다. 산술 표현식은 세 가지 다르지만 동등한 표기법으로 작성할 수 있습니다. 즉, 표현식의 본질이나 출력을 변경하지 않고 말입니다. 이러한 표기법은 -

  • 중위

  • 접두사

  • 접미사

중위 표기법은 다른 수학적 표현을 작성할 때 사용하는 일반적인 표기법입니다. 접두사와 접미사 표기법이 상당히 다릅니다.

접두사 표기법

이 표기법에서 연산자는 접두사입니다. 피연산자에, 즉 연산자는 피연산자보다 먼저 작성됩니다. 예:+ab . 이것은 중위 표기법 a + b와 동일합니다. . 접두사 표기법은 폴란드어 표기법이라고도 합니다. .

접미사 표기법

이 표기법 스타일을 역 폴란드 표기법이라고 합니다. . 이 표기법 스타일에서 연산자는 접미사입니다. 즉, 연산자는 피연산자 뒤에 작성됩니다. 예:ab+ . 이것은 중위 표기법 a + b와 동일합니다. .

예시

식 번호 중위 표기법 접두사 표기법 접미사 표기법
1 a + b + a b a b +
2 (a + b) * c * + a b c a b + c *
3 a * (b + c) * a + b c a b c + *
4 a / b + c / d + / a b / c d a b / c d / +
5 (a + b) * (c + d) * + a b + c d a b + c d + *
6 ((a + b) * c) - d - * + a b c d a b + c * d -

표현식 구문 분석

우리가 논의한 바와 같이 중위 표기법을 구문 분석하는 알고리즘이나 프로그램을 설계하는 것은 그다지 효율적인 방법이 아닙니다. 대신 이러한 중위 표기법은 먼저 접미사 또는 접두사 표기법으로 변환된 다음 계산됩니다.

산술 표현식을 구문 분석하려면 연산자 우선 순위와 연관성도 고려해야 합니다.

우선순위

피연산자가 서로 다른 두 연산자 사이에 있을 때 어떤 연산자가 먼저 피연산자를 사용할 것인지는 다른 연산자보다 연산자의 우선 순위에 따라 결정됩니다. 예를 들어 –

𝑎 + 𝑏 ∗ 𝑐 → 𝑎 + (𝑏 ∗ 𝑐)

곱셈 연산이 덧셈보다 우선하므로 b * c가 먼저 평가됩니다. 연산자 우선 순위 표는 나중에 제공됩니다.