python 建立最简单二叉树

来源:互联网 发布:网络老虎机怎么赢钱 编辑:程序博客网 时间:2024/06/01 07:45
#!/usr/bin/env python#-*- coding:utf-8 -*-class Tree:def __init__(self, cargo, left = None, right = None):self.cargo = cargoself.left = leftself.right = rightdef __str__(self):return str(self.cargo)tree = Tree(1, Tree(2), Tree(3))print (tree)def total(atree):   # get sum of the treeif atree == None:return 0return total(atree.left) + total(atree.right) + atree.cargoprint (total(tree)) # 1 + 2 +3 = 6def printTree(atree):if atree == None:return print (atree.cargo)printTree(atree.left)printTree(atree.right)print ("preorder:")printTree(tree)def printTreePostorder(atree):if atree == None:return printTreePostorder(atree.left)printTreePostorder(atree.right)print (atree.cargo)print ("Postorder")printTreePostorder(tree)def printTreeInorder(atree):if atree == None:return printTreeInorder(atree.left)print (atree.cargo)printTreeInorder(atree.right)print ("Inorder")printTreeInorder(tree)input()

转自 Linux Python
原创粉丝点击