
프로그래밍과 자료구조를 학습하다 보면 반드시 접하게 되는 개념이 바로 수식 표기법이다. 특히 infix, prefix, postfix 표기법은 알고리즘, 스택 구조, 컴파일러의 기본 원리를 이해하는 데 핵심적인 역할을 한다. 이 글에서는 2026년 기준으로 자료구조 관점에서 세 가지 표기법의 개요와 특징, 그리고 초보자도 바로 이해할 수 있는 간단한 예제를 중심으로 정리한다.
Infix 표기법의 개념과 특징
Infix 표기법은 우리가 일상적으로 사용하는 가장 익숙한 수식 표현 방식이다. 연산자가 피연산자 사이에 위치하는 구조로, 대부분의 프로그래밍 언어와 수학 교과서에서 기본적으로 채택하고 있다. 예를 들어 A + B, 3 * 5, (1 + 2) * 3과 같은 표현이 모두 infix 표기법에 해당한다. 자료구조 관점에서 infix 표기법의 가장 큰 특징은 연산자 우선순위와 괄호 처리가 필요하다는 점이다. 컴퓨터는 사람이 직관적으로 이해하는 연산 순서를 그대로 인식하지 못하기 때문에, 연산자 우선순위 테이블과 괄호 규칙을 추가로 해석해야 한다. 이 과정은 컴파일러나 인터프리터 내부에서 상당히 복잡한 처리를 요구한다. 이러한 이유로 infix 표기법은 가독성은 뛰어나지만, 실제 계산 처리 단계에서는 prefix나 postfix 표기법으로 변환하여 사용하는 경우가 많다.
Prefix 표기법의 개념과 간단 예제
Prefix 표기법은 연산자가 피연산자 앞쪽에 위치하는 방식이다. 흔히 폴란드 표기법이라고도 불리며, 괄호나 연산자 우선순위가 필요 없다는 장점이 있다. 예를 들어 infix 표기법의 A + B는 prefix 표기법으로 + A B가 된다. 자료구조에서 prefix 표기법은 트리 구조와 깊은 연관성을 가진다. 수식을 이진 트리로 표현했을 때 전위 순회 결과가 바로 prefix 표기법이 된다. (A + B) * C라는 수식은 prefix 표기법으로 * + A B C로 표현되며, 스택을 활용한 효율적인 계산이 가능하다.
Postfix 표기법의 개념과 활용
Postfix 표기법은 연산자가 피연산자 뒤쪽에 위치하는 방식으로, 역폴란드 표기법이라고도 한다. A + B는 postfix 표기법으로 A B +가 된다. postfix 표기법은 스택 구조를 활용한 계산에 매우 적합하며, 구현이 단순하고 오류 가능성이 적다. (A + B) * C는 A B + C *로 표현되며, 왼쪽부터 순차적으로 읽으며 스택 연산만으로 계산할 수 있다. 이러한 특성 덕분에 postfix 표기법은 계산기 프로그램, 컴파일러, 가상 머신 등 다양한 분야에서 활용되고 있다.
Infix, prefix, postfix 표기법은 단순한 수식 표현 차이를 넘어 자료구조와 알고리즘의 핵심 개념을 이해하는 중요한 기초 요소다. infix는 가독성이 뛰어나고, prefix와 postfix는 컴퓨터 처리에 효율적이라는 명확한 역할 분담이 존재한다. 자료구조를 제대로 이해하고 싶다면 세 가지 표기법의 차이와 변환 원리를 반드시 익혀두는 것이 좋다.