在波兰表示法中使用先序遍历
表达式树是一种用于表示算术表达式的二叉树:

对表达式树应用中序遍历,可以得到中缀表示法。对于给定的这棵树,中缀表示为 (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)