从前缀顺序表达式构造二叉树

时间:2013-05-06 04:39:35

标签: binary-tree prefix

我们应该如何构建以下“前缀”订单表达式的二叉树?

( - * / 8 + 5 1 4 + 3 - 5/18 6)

绘制树有什么规则吗?

1 个答案:

答案 0 :(得分:2)

Pseudocode是这样的:

function MakeBinaryTree(expr):
  element = next element in expr
  if element is a number:
    return a leaf node of that number
  else: // element is an operator
    left = MakeBinaryTree(expr)
    right = MakeBinaryTree(expr)
    return a binary tree with subtrees left and right and with operator element

这里expr保持一个内部指针指向下一个元素的位置。