作者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/cn.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