摘要: 问题描述: 中缀到前缀示例: ( 4 + 2 ) * ( 3 + 6 ) => * + 4 2 + 3 6 (3 /4 + 2) - 5 => - + / 3 4 2 5 (3 + 4/2) - 5 => - + 3 / 4 2 5 如果将表达式画成树形结构,则前缀、中缀、后缀... 阅读全文
posted @ 2014-10-26 13:33 breakthings 阅读(2544) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 前缀表达式也叫波兰表达式,是将操作符前置的一种写法。 中缀到前缀示例: ( 4 + 2 ) * ( 3 + 6 ) => * + 4 2 + 3 6 (3 + 4 / 2) - 5 => - + 3 / 4 2 5 默认按空格分隔,否则无法区分连续的数字。 思路1(递... 阅读全文
posted @ 2014-10-26 11:21 breakthings 阅读(2675) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 后缀表达式也叫逆波兰式,中缀到后缀举例: ( 4 + 2 ) * ( 3 + 6 ) => 4 2 + 3 6 + * (3 + 4 / 2) - 5 => 3 4 2 / + 5 - 问题是求解类似以上右侧的后缀表达式。思路1(递归): 1. 从右向左扫描 2. 因为后缀表... 阅读全文
posted @ 2014-10-26 11:13 breakthings 阅读(742) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 中缀表达式计算,只包含加减乘除以及括号,例如: 2+3*4-5/2 = 11.5 ((2+3*4)-5)/2 = 4.5思路: 1. 维护两个栈空间:数字栈与符号栈 2. 注意入栈与出栈的规则,符号栈入栈时,根据符号优先级判断是否入栈或出栈。 高优先级符号后入栈时... 阅读全文
posted @ 2014-10-25 10:24 breakthings 阅读(401) 评论(0) 推荐(0) 编辑