作者king8313 ()
看板Grad-ProbAsk
標題[理工]102交大資演 中序轉前序
時間Wed Dec 20 15:13:44 2017
https://i.imgur.com/MixMUq3.jpg
想請問一下第3題
這是板上大大的答案,
但是看了還是不太理解,這個演算法的概念大概為何?!
還有operator和operation不是都是指加減乘除嗎?!
麻煩大家了~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.126.194.203
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Grad-ProbAsk/M.1513754026.A.053.html
1F:推 nat99up: 其實就跟中轉後一樣12/20 15:39
2F:→ nat99up: 不一樣的點是scan改右到左 左括跟右括角色互換12/20 15:40
3F:→ nat99up: 其他看到operand就output和operator優先度等規則都一樣12/20 15:40
4F:→ nat99up: 只能由左scan到右這點用stack就可以反序解決12/20 15:44
5F:→ nat99up: 單個queue就可以模擬stack12/20 15:45
謝謝n大的解釋,雖然我花了很多時間才終於成功qq,不過我全都是用Stack是正常的嗎。
第一個Stack做反序
第二個Stack放operator和括號
第三個Stack用來push output
※ 編輯: king8313 (42.73.209.250), 12/20/2017 23:03:31
6F:推 nat99up: 第三個queue視為c++的vector當output我覺得比較好 12/21 09:25
7F:→ king8313: 謝謝n大~ 12/21 13:01
8F:推 andy6666: 是說第二題的D不是連到A嗎? 12/25 16:48
9F:推 andy6666: 這題是不是連判斷長度跟是否為空都要自己定義啊 12/25 16:55
10F:推 ShenJing: 我也覺得第二題D是連到A 12/26 17:44
11F:推 Trump2020: 題目說限用3個queue,但給的合法操作是pop, push,所 01/30 17:01
12F:→ Trump2020: 以到底是三個Queue or Stack? 01/30 17:01