3

어제 인터뷰에서이 질문이있었습니다. 어느 것이 더 사용 하시겠습니까? 중위 어 (괄호 포함) 또는 후위? 이유 주 ..중위 어와 후손

난 단지 그들에게 수있는 :

  1. 는 컴파일러가 산술 평가와 연산자 우선 순위에 대한 후위 식을 처리하기가 쉽습니다.
  2. 괄호를 저장하고 처리하는 데 더 많은 메모리가 사용됩니다.

내가이 문제를 제대로 처리했는지 확인해주세요.

+1

문제는 몇 가지 정의하지 않고 의미가 '더 나은'. 중위는 후위 컴퓨터. 또 다른 의미가 인터뷰 인간에 대한 자연 문제.괄호에 사용 된 메모리는 소스 파일 BTW에만 존재합니다. – EJP

답변

6

Postfix는 운영자가 주도하는 작업 순서를 필요로하지 않습니다. 그것은 항상 명백합니다. 따라서 스택 기반 컴파일러의 경우 구현하기가 쉽고 사람의 경우 조작 순서를 쉽게 이해할 수 있습니다.

한편, infix에서는 끝에있는 모든 동사를 읽지 않아도됩니다 : -P. 인간은 접미사 또는 접두어로 작업합니다. "A에서 B 추가"는 "A와 B : 추가"보다 의미가 있습니다.

하지만이 질문은 근본적으로 주관적입니다. Postfix는 컴퓨터 시스템에서 항상 더 좋을 것이지만 중위어는 장점이 있습니다.

+0

Postfix는 * 연산자 우선 순위를 요구하지 않습니다. * '연산 순서'와 전혀 다른 것은 아닙니다. Postfix는 연산자뿐입니다. – EJP

1

메모리는 일반적으로 여기에 문제가되지 않습니다. 컴파일러는 수 많은 메모리를 다른 것에 사용합니다. Postfix는 일반적으로 런타임에 특정 크기의 메모리 (여전히 작은 크기)와 관련된 피연산자 스택을 필요로합니다.

Postfix는 Java, Forth, Postscript와 같은 낮은 수준의 해석 가능 코드에 유용합니다. 이것들은 모두 하드웨어 또는 초경량 소프트웨어 구현을 가지고 있습니다.

가독성을 위해 중급자가 더 좋습니다.

물론 어떤 직업인지 알지 못해도 문제가 어떻게 현장에 영향을 미치는지 알 수있는 방법이 없습니다.

-1

중위, 후위 접두사 유사도 : 피연산자

  • 주문 세 표기법에서 동일하다 (하지만 운영자 변화 정도도 이에 이름) 중위 사이

차이점 , 접미사 및 접두어 :

  • 중위는 사람이 읽을 수 있습니다. 그것이 수학 서적에서 매우 일반적으로 사용되는 이유입니다.
  • Infix는 모호성을 제거하기 위해 추가 정보를 추가해야합니다. 예를 들어, 괄호를 사용하여 우선 순위가 낮은 연산자를 우선 설정하지만 후위에서는 연산자 순서를 사용합니다. (@EJP에 언급 된 @here
  • 접미사와 접두사는 기계 가독성이 더 뛰어납니다. 예를 들어 접미사에서는 숫자를 접할 때마다 스택에 넣고 연산자를 사용할 때마다 마지막 두 개를 띄웁니다 스택의 요소는 작업을 적용하고 결과를 다시 밀어 넣습니다.

감사

+0

중독은 또한 exxression이해야하는 것을 알려줍니다. 그렇지 않으면 후위 문자로 변환하는 것이 불가능합니다. – EJP

+0

@EJP : 답변을 수정 해 주셔서 감사합니다. :) – kinshuk4

관련 문제