前中后序遍历二叉树-python

class TreeNode:
  def __init__(self,value = None,left = None,right = None):
    self.value = value
    self.left = left
    self.right = right

# 前序遍历
def preTraverse(root):
  if root == None:
    return
  print(root.value,end=' ')
  preTraverse(root.left)
  preTraverse(root.right)

# 中序遍历
def midTraverse(root):
  if root == None:
    return 
  midTraverse(root.left)
  print(root.value,end=' ')
  midTraverse(root.right)

# 后续遍历
def afterTraverse(root):
  if root == None:
    return  
  afterTraverse(root.left)
  afterTraverse(root.right)
  print(root.value,end=' ')

if __name__ == "__main__":
  root = TreeNode('1',TreeNode('2',TreeNode('4'),TreeNode('5')),TreeNode('3',TreeNode('6'),TreeNode('7')))
  print("前序遍历")
  preTraverse(root)
  print("\n中序遍历")
  midTraverse(root)
  print("\n后序遍历")
  afterTraverse(root)

树长这个样子
在这里插入图片描述

运行结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_39333120/article/details/112169728