开始使用免费开始使用

在波兰表示法中使用先序遍历

表达式树是一种用于表示算术表达式的二叉树

Graphical representation of a binary tree that has arithmetic expressions.

对表达式树应用中序遍历,可以得到中缀表示法。对于给定的这棵树,中缀表示为 (10-5)*3

对表达式树应用先序遍历,可以得到前缀表示法,也称为波兰表示法,其中运算符位于操作数之前。对于给定的这棵树,前缀表示为 *-10 5 3

对表达式树应用后序遍历,可以得到后缀表示法,也称为逆波兰表示法,其中运算符位于操作数之后。对于给定的这棵树,后缀表示为 10 5- 3*

请编写先序遍历的代码,以便得到该表达式树的前缀表示法。

本练习是课程的一部分

Python 中的数据结构与算法

查看课程

练习说明

  • 检查 current_node 是否存在。
  • 打印 current_node 的值。
  • 在树的相应分支上递归调用 pre_order() 函数。

交互式实操练习

通过完成这段示例代码来试试这个练习。

import queue

class ExpressionTree:
  def __init__(self):
    self.root = None

  def pre_order(self, current_node):
    # Check if current_node exists
    ____:
      # Print the value of the current_node
      ____
      # Call pre_order recursively on the appropriate half of the tree
      ____
      ____
          
et = CreateExpressionTree()
et.pre_order(et.root)
编辑并运行代码