1

我正在构建一棵树来在二叉树的帮助下评估包含一元和二元运算符、常量和变量的数学表达式。

但是我现在在可视化如何表示三元运算时遇到了问题?可以通过二叉树完成吗?如果没有,我是否有更好的数据结构来表示和评估相同的内容?

请给出意见。

4

2 回答 2

1

如果您正在使用(或计划使用)二叉树,则可以通过组合两个节点来创建一个具有三个子节点的节点,如下所示:

   \
    a
   / \
  /   b
 /   / \
1   2   3
于 2012-05-19T08:03:13.043 回答
1

如果您要允许常量/变量(具有 0 个子节点的节点)、一元操作(具有 1 个子节点的节点)和二元操作(具有 2 个子节点的节点),我看不出拥有三元操作有什么困难(有 3 个孩子的节点)。如果您解释为什么不能可视化/实现具有 3 个子节点的节点,也许我们可以给您一个更好的答案。

于 2012-05-19T09:02:09.813 回答