波蘭表示法與逆波蘭表示法
身為初學者,能力有限,知識尚少,如有紕漏,還望海涵。
對於表示式,通常有三種表示方法,前、中、字尾表示法。我們日常使用的數學算式就是中綴表示法。例:1+5*10-10/2
碼文不易,希望支援,謝謝->支援原創
波蘭表示法
波蘭表示法(Polish notation,或波蘭記法),是一種邏輯、算術和代數表示方法,其特點是操作符置於運算元的前面,因此也稱做字首表示法。波蘭表示法——維基百科
舉個例子
一個算式:
用波蘭法表示就是:
是不是有點反人類,有人就要問了,這玩意看著費勁,為啥要這麼寫?
答案就是,雖然這玩意人看著費勁,但是更便於機器使用。
規則
那麼如何去運算波蘭表示法呢?
通過學習,我的總結是
1. 在前面的符號後運算,後面的符號先運算。
2. 每一步運算都是符號和後面兩個數的運算。
3. 運算之後把原來的算式替換成結果,繼續之後的運算。
又如何把中綴算式轉換成波蘭表示法呢?
- 把運算元提出來,按照原順序擺好。
- 根據運算步驟,在兩運算元前加符號。如果已經有符號,則後加的在前面。
經過轉換之後,不再需要括號。
逆波蘭表示法
逆波蘭表示法(Reverse Polish notation,RPN,或逆波蘭記法),是一種是由波蘭數學家揚·武卡謝維奇1920年引入的數學表示式方式,在逆波蘭記法中,所有操作符置於運算元的後面,因此也被稱為字尾表示法。逆波蘭記法不需要括號來標識操作符的優先順序。
逆波蘭表示法——維基百科
舉個例子
一個算式:
用波蘭法表示就是:
是不是有點反人類,有人就要問了,這玩意看著費勁,為啥要這麼寫?
答案就是,雖然這玩意人看著費勁,但是更便於機器使用。
規則
那麼如何去運算逆波蘭表示法呢?
通過學習,我的總結是
1. 在前面的符號先運算,後面的符號後運算。
2. 每一步運算都是符號和前面兩個數的運算。
3. 運算之後把原來的算式替換成結果,繼續之後的運算。
又如何把中綴算式轉換成波蘭表示法呢?
- 把運算元提出來,按照原順序擺好。
- 根據運算步驟,在兩運算元後加符號。如果已經有符號,則後加的在後面。
經過轉換之後,不再需要括號。