【发布时间】:2012-02-03 22:06:42
【问题描述】:
谁能解释一下如何构建二叉表达式树。
例如我有一个字符串2*(1+(2*1));如何将其转换成二叉表达式树。
*
| \
| \
2 +
|\
1 *
|\
2 1
【问题讨论】:
-
您可以使用调车场算法实现解决方案。以下是维基百科的一些详细信息:en.wikipedia.org/wiki/Shunting-yard_algorithm>。这个算法是由 Edsger Dijkstra 发明的,它是一个很好的选择。如果您需要一些详细信息,我可以发布我前段时间用 C# 编写的代码示例,但我想维基百科链接已经足够了。
标签: algorithm expression-trees