二叉樹的遍歷(python)
阿新 • • 發佈:2020-11-24
BEGIN:
class TreeNode: ''' 樹節點 ''' def __init__(self,x): self.val = x self.left = None self.right = None def preTraversal(head): ''' 先根遍歷 :param head: :return: ''' if not head: return print(head.val) preTraversal(head.left) preTraversal(head.right)def midTraversal(head): ''' 中跟遍歷 :param head: :return: ''' if not head: return midTraversal(head.left) print(head.val) midTraversal(head.right) def postTraversal(head): ''' 後根遍歷 :param head: :return: ''' if not head: returnpostTraversal(head.left) postTraversal(head.right) print(head.val) """ 樹結構: A B C D E F G 先跟遍歷:ABDECFG 中跟遍歷:DBEAFCG 後根遍歷:DEBFGCA """ A, B, C, D, E, F, G, H, I, J, K, L ,M ,N= [TreeNode(x) for x in 'abcdefghijklmn'] A.left = B A.right = C B.left = D B.right = E C.left = F C.right = G head = A print("preTraversal>>>") preTraversal(head) print("midTraversal>>>") midTraversal(head) print("postTraversal>>>") postTraversal(head)
END.