Python二叉树的遍历图示及应用分析
一、遍历
1、前序遍历
前序遍历:先访问 根节点 再分别递归遍历 左右子树
1.1图示遍历顺序:
1.2实现代码:
# 外部函数:
def preorder(tree):
if tree:
print(tree.getRootVal())
preorder(tree.getLeftChild())
preorder(tree.getRightChild())
#作为类的方法:
def preorder(self):
print(self.key)
if self.leftChild:
self.left.preorder()
if self.rightChild:
self.right.preorder()
1.3前序遍历的特点及应用:
前序遍历的方式,就类似我们读书,先看第一章第一节,看完第一章第一节,再看第一章第二节,那么我们使用二叉树搜索或建立的话,就应当是复合我们读书的这个顺序,这样的话去使用前序遍历就能成为合适的算法。
2、中序遍历
中序遍历:先递归地中序遍历左子树,然后访问根节点,最后递归地遍历右子树。
2.1图示遍历顺序:
2.2实现代码:
def inorder(tree):
if tree != None:
inorder(tree.getLeftChild())
print(tree.getRootVal())
inorder(tree.getRightChild())
2.3中序遍历的特点及应用:
从图中的编号我们也可以看出,其遍历顺序的序号就类似于二叉搜索树,即小于父节点的