<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks
    前/中/后綴表達式的轉換
    ?
    ?
    ??? 自然表達式轉換為前/中/后綴表達式,其實是很簡單的。首先將自然表達式按照優先級順序,構造出與表達式相對應的二叉樹,然后對二叉樹進行前/中/后綴遍歷,即得到前/中/后綴表達式。
    ?
    ??? 舉例說明將自然表達式轉換成二叉樹:
    ?
    ??? a×(b+c)-d
    ?
    ??? ① 根據表達式的優先級順序,首先計算(b+c),形成二叉樹
    ??? tree1.JPG
    ???
    ??? 然后是a×(b+c),在寫時注意左右的位置關系
    ??? tree2.JPG
    ?
    ??? 最后在右邊加上 -d
    ??? tree3.JPG
    ?
    ?
    ??? 然后最這個構造好的二叉樹進行遍歷,三種遍歷的順序分別是這樣的:
    ?
    ??? ① 前序遍歷:根-左-右
    ??? 中序遍歷:左-根-右
    ??? 后序遍歷:左-右-根
    ?
    ??? 所以還是以剛才的這個例子,在最終二叉樹的基礎上可以得出:
    ?
    ??? 前綴表達式:-*a+bcd
    ??? 中綴表達式:a*b+c-d
    ??? 后綴表達式:abc+*d-
    ?
    ?
    ?
    ??? 一些其他的遍歷原則:
    ?
    ??? 1、深度優先遍歷:
    ?
    ??? 首先訪問出發點V,并將其標記為已訪問過;然后依次從V出發搜索V的每個鄰接點W。若W未曾訪問過,則以W為新的出發點繼續進行深度優先遍歷,直至圖中所有和源點V有路徑相通的頂點(亦稱為從源點可達的頂點)均已被訪問為止。若此時圖中仍有未訪問的頂點,則另選一個尚未訪問的頂點作為新的源點重復上述過程,直至圖中所有頂點均被訪問為止。
    ?
    ??? 2、廣度優先遍歷:
    ?
    ??? 首先訪問出發頂點V,然后訪問與頂點V鄰接的全部未被訪問過的頂點W0,W1,...WK-1;接著再依次訪問與頂點W0,W1,...WK-1鄰接的全部未被訪問過的頂點,以此類推,直至圖的所有頂點都被訪問到,或出發頂點V所在的連通分量的全部頂點都被訪問到為止。
    ?
    ??? 注:對于樹來說,深度優先就是從左到右,從上到下;廣度優先就是從上到下,從左到右。
    ?




    -The End-

    posted on 2009-05-21 22:41 decode360-3 閱讀(7677) 評論(3)  編輯  收藏 所屬分類: Exam

    評論

    # re: 前/中/后綴表達式的轉換 2012-09-02 14:18 captivated
    LZ: 你怎么根據中綴表達式構建你的二叉樹先.

    二叉樹構建出來后, 前序遍歷就是前綴表達式, 中序遍歷就是中綴表達式, 后序遍歷就是逆波蘭式 -- 問題是, 你需要先把二叉樹構建出來.

    事實上, 這樣的二叉樹, 需要先將中綴表達式轉換為逆波蘭式, 然后才能構建出來(別的方法 -- 我反正沒試過也不知道). 中綴表達式轉換為逆波蘭式倒不是太麻煩, 用棧. 逆波蘭式表達式構建出二叉樹也是用棧, 都不是很麻煩.

    所以前提是需要通過棧將中綴表達式轉換為逆波蘭式. 另外, 以一個簡單的計算器程序為例, 這個程序要能夠計算形如
    1.23 * (3.2 + 5.6) / 5 + 4.0 ( 5.8 - 2.4)
    這種表達式的結果. 要求通過上面提及的轉換來寫(嗯, 有別的更簡單的方法來寫這種計算器程序. 比如遞歸).
    LZ提過轉換很簡單明了, 不過我建議LZ不妨編碼試試.

    -----------------------------------------------------

    不得不說. 其實我自己常對這樣的轉換過程本身感到非常惱火, 覺得自己的大腦常常因為這種轉換過程本身而宕機(關于那個計算器程序, 我用過三種方法編碼完成過).

    -----------------------------------------------------

      回復  更多評論
      

    # re: 前/中/后綴表達式的轉換 2013-11-22 16:22 劉濤
    轉換過程一般在實際當中什么時候要用。  回復  更多評論
      

    # re: 前/中/后綴表達式的轉換 2013-11-22 16:23 劉濤
    問題@劉濤
      回復  更多評論
      

    主站蜘蛛池模板: 一级毛片免费全部播放| 亚洲午夜无码久久久久软件| 免费中文字幕视频| 国产男女猛烈无遮档免费视频网站| 亚洲成电影在线观看青青| 最近2019免费中文字幕视频三| 亚洲av无码国产精品色午夜字幕| 国产精品午夜免费观看网站| 国产亚洲精品久久久久秋霞| 爽爽爽爽爽爽爽成人免费观看| 亚洲乱码国产一区三区| 无码国产精品一区二区免费模式 | 国产精品免费久久久久电影网| 国产成人99久久亚洲综合精品| 国产精品九九久久免费视频| 亚洲精品白浆高清久久久久久| 一区二区三区观看免费中文视频在线播放| 亚洲综合日韩中文字幕v在线| 国产免费的野战视频| 亚洲av永久无码精品网址| 亚洲成?Ⅴ人在线观看无码| 久草免费福利在线| 亚洲综合无码一区二区| 德国女人一级毛片免费| 日韩精品视频在线观看免费| 亚洲av午夜福利精品一区| 97性无码区免费| 男女作爱免费网站| 亚洲AV日韩精品久久久久久| 日本精品人妻无码免费大全| 一级毛片免费播放试看60分钟| 亚洲不卡中文字幕无码| 24小时免费直播在线观看| 色老头综合免费视频| 亚洲美女色在线欧洲美女| 国产在线19禁免费观看国产 | 亚洲毛片无码专区亚洲乱| 成人黄18免费视频| 水蜜桃视频在线观看免费播放高清| 亚洲视频精品在线观看| 免费永久在线观看黄网站|