【发布时间】:2013-03-12 21:24:00
【问题描述】:
有著名的shunting-yard algorithm,可用于将中缀表达式(如1 + 2 * 3)转换为后缀表达式(如1 2 2 * +)。调车场算法需要一个栈来存储即将被移动的元素。
是否可以预先估计在线性时间和恒定内存中将特定输入转换为其后缀形式所需的堆栈长度?
【问题讨论】:
-
会在输入上运行调车场算法但计数而不是推动和弹出操作符作为答案吗?
-
@groovy IIRC 你需要知道堆栈的内容才能运行调车场,比如说,如果你有括号。
标签: algorithm stack estimation shunting-yard