class Node(object): # Left: None # Right: None def __init__(self,d,left=None,right=None,p=None): self.data=d self.left=left parent=p self.right=right n=Node(123) print(n.data) a=Node("A") b=Node("B",None,None,a) c=Node("C",None,None,a) a.left=b a.right=c d=Node("D",None,None,b) e=Node("E",None,None,b) b.left=d b.right=e f=Node("F",None,None,c) g=Node("G",None,None,c) c.left=f c.right=g h=Node("H",n) def pre(node): print(node.data) if node.left: pre( node.left ) if node.right: pre( node.right ) def mid(node): if node.left: mid( node.left ) print( node.data ) if node.right: mid( node.right) def hind(node): if node.left: hind( node.left ) if node.right: hind( node.right) print( node.data ) def candaseding(nodes): nextCa=[] for node in nodes: print(node.data) l=node.left r=node.right if(l): nextCa.append(l) if r: nextCa.append( r ) if(len(nextCa)>0): candaseding(nextCa) pre(a) candaseding([a]) print("*"*30) mid(a) print("*"*40) hind(a)
二叉树遍历
最新推荐文章于 2020-07-02 14:33:45 发布