【发布时间】:2013-08-12 23:03:30
【问题描述】:
我正在整个互联网上寻找将代数表达式转换为二叉树的逻辑。
我只能找到你首先将代数表达式转换为后缀或前缀然后将其转换为二叉树的那些。
我确实尝试过使用逻辑,但它在所有情况下都不起作用,问题在于选择正确的操作数作为根父节点。我找不到一个通用的逻辑来破解它。
我只是想知道,如果可能的话。
任何指向外部链接或逻辑答案的指针可以让我朝着正确的方向前进?
编辑
是的语法树
所以这个表达式
A+(B-C)*D+E*F
应该翻译成
|-(+)-|
| |
|---(*)---| |---(*)---|
| | | |
|---(+)---| D E F
| |
| |
A |--( - )--|
| |
B C
【问题讨论】:
-
你能举个例子吗? “将代数表达式转换为二叉树”是什么意思你的意思是某种与代数表达式相关的语法树吗?
-
只是为了正确:这个翻译是错误的,因为 * 的优先级高于 +。语法树等价于 (A+(B-C))*D+E*F
标签: algorithm binary-tree