解析树:也称具体语法树(concrete syntax tree),是一个反映某种形式语言字符串的语法关系的有根有序树。解析树一般按照两种相反的法则生成,一种是依存语法,一种是短语结构语法。解析树和抽象语法树是不同的。
树的遍历包括前序遍历(preorder),中序遍历(inorder)和后序遍历(postorder)。
前序遍历(preorder):在前序遍历中,先访问根节点,然后递归地前序遍历访问左子树,再递归地前序遍历访问右子树。
中序遍历(inorder):在中序遍历中,递归地中序遍历访问左子树,然后访问根节点,最后再递归地中序遍历访问右子树。
后序遍历(postorder):在后序遍历中,先递归地后序遍历访问左子树和右子树,最后访问根节点。
完整代码:
import operator #操作符模块
# 自定义栈类
class Stack(object):
def __init__(self): #初始化空栈
self.items = []
def isEmpty(self): #是否为空
return self.items == []
def push(self, item): #入栈
self.items.append(item)
def pop(self): #出栈
return self.items.pop()
def peek(self):