先序遍历二叉树
問題
如何遍歷一個二叉樹
遍歷二叉樹就是訪問二叉樹的每一個節點
二叉樹父結點下先左訪問,先序遍歷(根左右)
例如:遍歷以下的二叉樹
遍歷結果:ABDECF
Python代碼示例
# !/usr/bin/env python # -*-encoding: utf-8-*- # author:LiYanwei # version:0.1class TreeNode(object):'''二叉樹類'''def __init__ (self, data, left = None, right = None):self.data = dataself.left = leftself.right = rightdef __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 = BA.right = CB.left = DB.right = EC.left = Freturn Adef preOrder(node):'''先序遍歷 先左后右 使用遞歸:param node::return:'''if node is None:returnprint node.datapreOrder(node.left)preOrder(node.right)if __name__ == '__main__':# 二叉樹的創建root = createTree()# 二叉樹的遍歷preOrder(root)轉載于:https://www.cnblogs.com/Py00/p/7728710.html
總結
- 上一篇: No
- 下一篇: jenkins定时任务