先序:根左右
中序:左根右
后序:左右根
class Btree():
def __init__(self):
self.data=None
self.lchild=None
self.rchild=None
####先序
def printfontorder(tree,re=[]):
if tree==None:
return re
else:
re.append(tree.data)
printfontorder(tree.lchild)
printfontorder(tree.rchild)
return re
####中序
def printMidorder(tree):
if tree==None:
return None
else:
if tree.lchild!=None:
printMidorder(tree.lchild)
print(tree.data)
if tree.rchild!=None:
printMidorder(tree,rchild)
def printMid2(tree,re=[]):
if tree==None:
return re
else:
printMid2(tree.lchild)
re.append(tree.data)
printMid2(tree.rchild)
return re
#####后续
def printrear(tree,re=[]):
if tree==None:
return re
else:
printMid2(tree.lchild)
printMid2(tree.rchild)
re.append(tree.data)
return re