資料結構期末考試救命 - 第2頁 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ -- 網 路 生 活 分 享 區 > -- 閒 話 家 常 灌 水 版


PCZONE 討論區



通知

-- 閒 話 家 常 灌 水 版 上 面 那 些 硬 梆 梆 的 專 業 話 題 插 不 上 話 ?? 那 就 來 這 邊 就 你 周 遭 網 路 上 或 生 活 上 的 話 題 來 哈 拉 一 下

拉登長官

其實 Postorder 還是有相當的用途..

比如說一般的工程用計算機..

10 + 20 / 5 = 14
中序式必須要看到 = 才能夠把答案算出來..

但是如果是後序式: 10 20 5 / +
看到 最後的一個 + 號的時後, 答案就已經可以確定了..

回覆
會員

引用:
最初由 文子 發表
怪怪, 我記得我上學期修的時候沒修過這東東, 只看過 Pre-Condition 和 Post-Condition.
請問這東西有什麼實際上的用處嗎??
一般的運算式寫法((m-n)+u*(p+q)/(r-s*t)稱作中序,即運算子置於兩運算元中間.但如果再加上括號等,即運算子有不同的優先順序,所以在計算機中使用會造成不便,必需要將整個運算式全部輸入後才能開始處理.

但前序(運算子置於前方)或後序(運算子置於後方)就沒有運算子優先順序的問題,可減少處理的不便,增加運算速度.
例如(前序運算式)
/*+-umn+pq-r*st
從第一個讀入放入堆疊中,保留運算元
所以前面/*+-依序放入堆疊,
第一個運算元n
第二個運算元m
連續讀入二個運算元時,從堆疊中取出一個運算子(最後一個,此時為"-")
執行m-n(可回去對照中序表示式m-n為第一個需運算的)
但如果只有一個運算元再讀入運算子時,則置入堆疊.直至所有式子讀入再一一將堆疊內的運算元和運算子取出來運算.
但原題中的中序式((m-n)+u*(p+q)/(r-s*t)
似乎是有括號不匹配的情形,所以怪怪的
回覆
會員

prefix: +-mn/*u+pq-r*st
postfix: mn-upq+*rst*-/+
回覆
會員

萬用招就是先轉成2元樹,之後要寫就簡單多了.
回覆
做事的態度

如何轉換成二元樹
你說的我有點不了解
回覆
會員

附件.
上傳的圖檔
檔案類型: jpg 123.jpg (13.1 KB, 67 次觀看)
回覆
做事的態度

如果問題用程式c語言撰寫
能嗎?
回覆
嘴炮戰隊隊長

引用:
最初由 hiner 發表
如果問題用程式c語言撰寫
能嗎?
當然可以!
回覆
做事的態度

Ivan Lin  可以稍微指導我一下嗎?
回覆
嘴炮戰隊隊長

不是很認同你的問法,有問題大家研究是好事,可是你的問法,只是要大家丟答案給你(這也就是我剛剛只回答:『當然可以』的原因)。附上一個原始程式的連結給你,請自行研究一番吧。

http://www.planet-source-code.com/vb...=3859&lngWId=3



回覆







 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。