第3章栈和队列要素.ppt

第3章栈和队列要素

* 这里限定的表达式求值问题是:用户输入一个包含“+”、“-”、“*”、“/”、正整数和圆括号的合法数学表达式,计算该表达式的运算结果。 3.1.4 栈的应用举例----表达式求值 表达式的三种表示方法: 设 Exp = S1 + OP + S2 称 OP + S1 + S2 为前缀表示法 S1 + OP + S2 为中缀表示法 S1 + S2 + OP 为后缀表示法 操作数 运算符 * 例如: Exp = a ? b + (c ? d / e) ? f 前缀式: + ? a b ? ? c / d e f 中缀式: a ? b + c ? d / e ? f 后缀式: a b ? c d e / ? f ? + 结论: 1)操作数之间的相对次序不变; 2)运算符的相对次序不同; 3)中缀式丢失了括号信息,致使运算次序被改变; 4) 前缀式的运算规则为: 连续出现的两个操作数和在它们之前且紧靠它们的运算符构成一个最小表达式; 5) 后缀式的运算规则为: 运算符在式中出现的顺序恰为表达式的运算顺序,每个运算符和在它之前出现且紧靠它的两个操作数构成一个最小表达式; 栈的应用:表达式求值 * 如何从后缀式求值? 先找运算符 再找操作数

文档评论(0)

1亿VIP精品文档

相关文档