日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[数据结构考前必看]中缀表达式转化成后缀表达式_例题超多+分步骤讲解+带你手算

發布時間:2025/1/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [数据结构考前必看]中缀表达式转化成后缀表达式_例题超多+分步骤讲解+带你手算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

中綴、后綴表達式定義

  • 中綴表達式又稱波蘭式,有利于人們閱讀與表達。
  • 后綴表達式又稱逆波蘭式,有利于機器進行運算。

  • 例題1:

    中綴表達式:(a+b+c*d) /e

  • 首先讓我們來看一下運算符對應的優先級,顯然括號里的**“乘法”**的優先級最高,所以先得出cd*,讓我們把cd*記為q,括號里的表達式即可轉化成a+b+q。
  • 然后括號里還剩下兩個加法,兩者的優先級相同,依次讀取,a+b首先轉化成ab+,接著ab+作為一個新的數,讓我們把它記為p,那么括號里的表達式就剩下p+q,轉化成后綴表達式,顯然是pq+,讓我們把它記為r。
  • 然后表達式就變成了r/e,轉化成后綴表達式,顯然是re/,好了,此刻我們已經處理完全部表達式了。
  • 此時表達式為re/,讓我們依次將表達式還原,r=pq+、p=ab+、q=cd*,將這些帶入,得原表達式=ab+cd*+e/,
  • OK!得解。

    這時候,就會有小朋友提問了,哥哥,哥哥,我算的結果怎么和你不一樣,我是不是算錯了,你看我的結果是abcd*++e/。
    好的,首先恭喜你,你學會解這道題目,你的結果也是對的。
    我們需要明確一個非常重要的概念中綴轉后綴的結果并不唯一
    后綴表達式只是一種工具,我們寄希望于計算機通過這種工具能正確計算出表達式。

    計算機處理后綴表達式的方式是:

    從左向右依次掃描表達式, (1)遇到操作數人棧, (2)遇到操作符.則做出棧兩次,獲得兩個操作數, 后出棧的操作數為第一個操作對象,對它們進行計算, 計算結果作為下次運算的操作數入棧。 重復上述操作,直到后綴表達式讀取結束,既可完成表達式的計算。

    表達式1:abcd*++e/和表達式2:ab+cd*+e/,兩者計算結果是相同的。所以他倆是等價的。


    接下來的例題我就不一一書寫步驟了,僅提供參考答案(再次提醒答案不唯一)


    例題2:

    中綴表達式 a+b*(c-d)-e/f
    對應轉化的后綴表達式 abcd-*+ef/-


    例題3:

    中綴表達式 A+B*(C-D)-E/F
    對應轉化的后綴表達式 ABCD-*+EF/-


    總結

    以上是生活随笔為你收集整理的[数据结构考前必看]中缀表达式转化成后缀表达式_例题超多+分步骤讲解+带你手算的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。