問題
如何遍歷一個二叉樹
遍歷二叉樹就是訪問二叉樹的每一個節點
二叉樹父結點下先左訪問,先序遍歷(根左右)
例如:遍歷以下的二叉樹

遍歷結果:ABDECF
Python代碼示例
# !/usr/bin/env python/197725.html">python# -*-encoding: utf-8-*-# author:LiYanwei# version:0.1class TreeNode(object): ''' 二叉樹類 ''' def __init__ (self, data, left = None, right = None): self.data = data self.left = left self.right = right def __str__(self): return str(self.data)def createTree(): ''' 創建二叉樹函數 ''' # 創建如圖的二叉樹 # 1.創建節點 A = TreeNode('A') B = TreeNode('B') C = TreeNode('C') D = TreeNode('D') E = TreeNode('E') F = TreeNode('F') # 列表解析 # A, B, C, D, E, F = [TreeNode(x) for x in 'ABCDEF'] # 2.創建節點之間的關系 A.left = B A.right = C B.left = D B.right = E C.left = F return Adef preOrder(node): ''' 先序遍歷 先左后右 使用遞歸 :param node: :return: ''' if node is None: return print node.data preOrder(node.left) preOrder(node.right)if __name__ == '__main__': # 二叉樹的創建 root = createTree() # 二叉樹的遍歷 preOrder(root) 總結
以上就是本文關于python先序遍歷二叉樹問題的全部內容,希望對大家有所幫助。有什么問題可以隨時留言,小編會及時回復大家的。感謝朋友們對本站的支持!
新聞熱點
疑難解答