python先序遍历二叉树问题
作者:玩蛇的 发布时间:2023-10-09 10:25:30
标签:python,二叉树遍历
问题
如何遍历一个二叉树
遍历二叉树就是访问二叉树的每一个节点
二叉树父结点下先左访问,先序遍历(根左右)
例如:遍历以下的二叉树
遍历结果:ABDECF
Python代码示例
# !/usr/bin/env python
# -*-encoding: utf-8-*-
# author:LiYanwei
# version:0.1
class 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 A
def 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)
来源:http://www.cnblogs.com/Py00/p/7728710.html
0
投稿
猜你喜欢
- 我想大多写web的朋友应该和我一样,正则是不可少的,可是每次到用时去百度一下,也麻烦,存在电脑里也得找半天~换了电脑还是得靠google了~
- 1 lambda函数函数格式是lambda keys:express 匿名函数lambda是一个表达式函数,接受ke
- 一、前言大多数编译型语言,变量在使用前必须先声明,其中C语言更加苛刻:变量声明必须位于代码块最开始,且在任何其他语句之前。其他语言,想C++
- 本文主要介绍的是Python高阶函数与装饰器函数的相关内容,分享给大家,下面话不多说了,来一起看看详细的介绍吧高阶函数1、可以使用函数对象作
- 仔细观察下面两个python程序,代码一模一样,但是运行的结果却不同,就是因为最后一行return缩进的不同def powersum(pow
- 有两张表a表id val 1 a 2 b 3 c 4 d 5 e b表 a_id val 1 null 2 null 3 null 4 nu
- 一扯上文化二字,总觉虚无缥缈、漫无边际,或者老气横秋,如何有趣地利用中华文化的思想和符号,结合现代的元素,使其成为有意思的传播手法,这个问题
- 学习目的:掌握下拉列表框的用法,并理解AutoPostBack属性; 理解IsPoskBack及用法; 初识DataTable的
- 本文实例讲述了Python实现求解一元二次方程的方法。分享给大家供大家参考,具体如下:1. 引入math包2. 定义返回的对象3. 判断b*
- 一、Tkinter什么是GUI图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方
- 一、word转pdf先安装win32库:pip install pywin32from win32com.client import gen
- 我设计第一篇网页的时候,就遇到了字体的设置问题。我发现如果用软件约定的字体大小,则显示效果会很难看的。我是用FrontPage2000作网页
- 1.Python代码import cx_Oracletns=cx_Oracle.makedsn('127.0.0.1',
- 前一阵看到一篇文章《使用css3仿造window7的开始菜单》,文中仅使用CSS3 实现了Windows 7 开始菜单的动态效果,很久以来一
- 今天在设置input的readonly属性遇到问题,上网查到下面的内容,作个标记。今天系统需要使用javascript 动态设置textbo
- 1. 场景大家好,我是J哥。前段时间有人私信我,说自己辛辛苦苦剪辑的短视频,上传到某平台后,由于播放量太大,收到 降权 的通知,直接导致这个
- 之道的易搜项目中的搜索分类是通过JS动态生成的,每个生成的元素都要动态的添加属性、事件。其中,添加属性可以采用赋值的方式,这对IE和FF都是
- 一个asp显示当前日期农历的代码函数,效果 今天是:农历丁亥年(猪)八月十三。调用方便!Function nl()'获取当前系统时间
- 相信很多人在使用Ajax与后台php页面进行交互的时候都碰到过中文乱码的问题。JSON作为一种轻量级的数据交换格式,备受亲睐,但是用PHP作
- 1 create table test(coltest varchar(20))2 实现这一功能 的 sql 语句 s