BLOG
Enjoy when you can, and endure when you must.
APR 27, 2014/数据结构
后缀表达式求值
对一个后缀表达式进行求值需要用到堆栈,它用于存放操作数并在计算时将其弹出。假设我们将一个正确的后缀表达式存放在一个字符串中,计算时,只需从左到右依次扫描该字符串并遵循以下步骤进行: 1. 如果当前元素是一个操作数,则将其值推入堆栈; 2. 如果当前元素是一个运算符: a)将栈顶的头两个元素弹出; b)将这两个元素与当前运算符做数学运算(注意弹出的第一个元素为右操作数,而第二个元素为左操作数); c)将结果推入堆栈。 A B C + * D / 这里我们以这个后缀表达式为例演示求值过程。假设A、B、C、D的值分别如下: A = 8 ...
APR 27, 2014/数据结构
后缀表达式
数学表达式的计算是我们日常工作的一部分,对于我们来说也相对比较容易。不过如果是计算机呢?可能就不那么简单了。为了让计算机知道计算规则,我们需要对我们通常所使用的所谓中缀表达式进行一下转换,而其中一种转换方法就是后缀表达式。 概念 后缀表达式,即逆波兰式。这种表达式不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则)。其优点是根据运算对象和算符的出现次序进行计算,不需要使用括号,也便于用机械实现求值。 中缀到后缀的转换 1. 按正确的运算顺序给每组运算两侧加上圆括号; 2. 在每一组圆括号中,将运...
1