學習筆記 | 二叉樹:前序遍歷、中序遍歷、後序遍歷

二叉樹:前序遍歷、中序遍歷、後序遍歷

class Node:
    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)
    preTraverse(root.left)
    preTraverse(root.right)

def midTraverse(root):
    '''     中序遍歷     '''
    if root == None:      
        return  
    midTraverse(root.left)
    print(root.value)
    midTraverse(root.right)

def afterTraverse(root):
    '''     後序遍歷     '''
    if root == None:
        return
    afterTraverse(root.left)
    afterTraverse(root.right)
    print(root.value)

if __name__=='__main__':
    root=Node('D',Node('B',Node('A'),Node('C')),Node('E',right=Node('G',Node('F'))))
    print('前序遍歷:')
    preTraverse(root)
    print('\n')
    print('中序遍歷:')
    midTraverse(root)
    print('\n')
    print('後序遍歷:')
    afterTraverse(root)
    print('\n')

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章