
【計】 prefix expression
【計】 PR; prefix
【計】 E; expression
【化】 expression
前綴表達式(Prefix Expression),又稱波蘭表示法(Polish Notation),是一種數學表達式或邏輯表達式的書寫方式,其核心特點是運算符置于操作數之前。在計算機科學中,這種表示法因其無需括號即可明确運算順序的特性,常用于編譯器和計算機的設計中。
中文術語:前綴表達式 / 波蘭表示法
英文術語:Prefix Expression / Polish Notation
定義:運算符位于所有操作數之前的表達式結構。例如,加法運算 a + b
的前綴形式為 + a b
。
運算規則
表達式從左至右掃描,遇到運算符時,将其後的兩個操作數(或子表達式結果)作為運算對象。例如:
* + 3 4 5
等價于 (3 + 4) * 5 = 35
/ * 6 3 2
等價于 (6 * 3) / 2 = 9
無歧義性
運算符的優先級和結合性通過位置直接體現,無需括號輔助解析。例如中綴表達式 3 + 4 5
需括號區分 (3 + 4) 5
或 3 + (4 5)
,而前綴形式 + 3 4 5
僅對應前者。
計算效率
適合棧(Stack)結構高效計算:
函數式編程語言
如 Lisp 和 Scheme 使用類似前綴的 S-表達式(例:(+ 3 (* 4 5))
),延續了運算符前置的邏輯。
編譯器設計
源碼解析階段常将中綴表達式轉換為前綴或後綴形式(逆波蘭表示法),簡化語法樹生成。
計算機科學教材
Alfred Aho 等所著《編譯原理》(Compilers: Principles, Techniques, and Tools)詳細讨論表達式表示法對語法分析的影響(第2章)。
來源:Addison-Wesley Professional, 2006.
學術标準
IEEE 計算機協會發布的《軟件工程知識體系指南》(SWEBOK)提及波蘭表示法在算法設計中的應用。
來源:IEEE Computer Society, 2014.
編程語言文檔
Lisp 語言規範(ANSI INCITS 226-1994)定義前綴式 S-表達式為基本語法結構。
來源:American National Standards Institute.
前綴表達式(Prefix Notation),又稱波蘭表示法(Polish Notation),是一種數學表達式的書寫方式,其特點是運算符位于操作數之前。例如,中綴表達式 (3 + 4) 在前綴表達式中寫作 (+ , 3 , 4)。
運算符前置
所有運算符均置于操作數左側,如乘法表達式 (2 times (3 + 4)) 寫作 (times , 2 , + , 3 , 4)。
無括號需求
運算符的優先級和結合性通過位置直接體現,無需括號輔助。例如,(times , + , 1 , 2 , 3) 表示 ((1 + 2) times 3),而非 (1 + (2 times 3))。
計算順序明确
從右向左掃描表達式,遇到運算符時,直接對後續操作數進行運算。例如,計算 (+ , times , 2 , 3 , 4) 的步驟為:
(+ 1 2)
表示 (1 + 2))。類型 | 示例(表達式:(3 + 4 times 5)) | 特點 |
---|---|---|
前綴表達式 | (+ , 3 , times , 4 , 5) | 運算符前置,無括號 |
中綴表達式 | (3 + 4 times 5) | 需處理優先級和括號 |
後綴表達式 | (3 , 4 , 5 , times , +) | 運算符後置,無括號 |
例如,中綴表達式 ((A + B) times C) 轉換步驟:
前綴表達式通過運算符前置和固定計算順序簡化了表達式解析,尤其適合計算機處理。盡管對人類閱讀不夠直觀,但其無歧義性和高效性使其在特定領域廣泛應用。
包優先級成品盤存制船底漆從犯的讀出裝置法定彙率法律上的承認共享任務地址空間海關稅拍賣後存儲器換稱環狀的間隔動作計量儀器晶體塊結酒精噴燈開審柯蒲加堿冷暖貿易清算帳戶木膽烷歐洲電報交換網絡嘌呤鹼的球罐熱鑄石腦油吸收塔雙苯胂化三硫數據表格桃微裂紋