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
投稿
猜你喜欢
- # -*- coding: utf-8 -*-import sysimport MySQLdbreload(sys)sys.setdefau
- 1、内容在一屏内显示的,采用了(内容框)上下左右居中的办法,里面的内容绝对于这个内容框定位.这样一来,在不同大小屏中,内容总是在中间,看起来
- 1.前言这段时间,金三银四,很多人面试,很多人分享面试题。在前段时间,我也临时担任面试官,为了大概了解面试者的水平,我也写了一份题目,面试了
- 获得当前时间时间戳# 注意时区的设置import time# 获得当前时间时间戳now = int(time.time())# 转换为其他日
- Python中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。创
- Python 开发学习的意义:(1)学习相关安全工具原理.(2)掌握自定义工具及拓展开发解决实战中无工具或手工麻烦批量化等情况.(3)在二次
- 对数据库的备份是网站管理人员的必修课,那么常用的数据库备份方式有哪些呢?应如何选择?数据库备份有四种类型,分别应用于不同的场合,下面简要介绍
- 主要思路(1)数据选取获取数据的链接为:https://www.basketball-reference.com/获取的数据内容为:每支队伍
- 本文方案适用于Microsoft Sql Server 2008/2012/2012 r2/2014版本,以下简称MSSQLSERVER。M
- 今天网页调试的时候在线订单出现错误:Server 对象 错误 'ASP 0178
- 花瓣图片的加载使用了延迟加载的技术,源代码只能下载20多张图片,修改后基本能下载所有的了,只是速度有点慢,后面再优化下import urll
- TensorFlow 定义输入节点名称input_name: with tf.name_scope('input'): &
- 有框计算器这个计算器我们用到了Python自带的Tkinter库# 导入tkinter库import tkinter我们要对窗口进行一些基本
- 二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形
- 当使用AJAX进行GET请求的时候,会有一个现象就是刷新网页后,AJAX请求的数据没有改变,只有把IE的缓存清空,或者从新打开一个IE窗口的
- 分页一般和表格一起用,分页链接作为表格的一部分,将分页链接封装成一个独立的组件,然后作为子组件嵌入到表格组件中,这样比较合理。效果:代码:1
- ul: unordered lists ol: ordered lists li: Listsol 有序列表:<ol>
- 开篇相信广大程序员朋友经常使用MySQL数据库作为书籍持久化的工具,我们最常使用的就是MySQL中的SQL语句,从客户端向MySQL发出一条
- 应用目录下apps.pyclass OperationConfig(AppConfig): name = 'operat
- 1. 安装yaml库想要使用python实现yaml与json格式互相转换,需要先下载pip,再通过pip安装yaml库。如何下载以及使用p