python先序遍历二叉树问题


Posted in Python onNovember 10, 2017

问题

如何遍历一个二叉树

遍历二叉树就是访问二叉树的每一个节点

二叉树父结点下先左访问,先序遍历(根左右)

例如:遍历以下的二叉树

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)

总结

以上就是本文关于python先序遍历二叉树问题的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Python3调用微信企业号API发送文本消息代码示例、浅谈python中的占位符、python实现人脸识别代码等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!

Python 相关文章推荐
python获取元素在数组中索引号的方法
Jul 15 Python
浅析Python中yield关键词的作用与用法
Nov 29 Python
Django安装配置mysql的方法步骤
Oct 15 Python
selenium获取当前页面的url、源码、title的方法
Jun 12 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
Jul 03 Python
解决django同步数据库的时候app models表没有成功创建的问题
Aug 09 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
Apr 22 Python
python实现文字版扫雷
Apr 24 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
May 22 Python
TensorFlow的环境配置与安装方法
Feb 20 Python
python 爬取豆瓣网页的示例
Apr 13 Python
python学习之panda数据分析核心支持库
May 07 Python
简单了解OpenCV是个什么东西
Nov 10 #Python
python的文件操作方法汇总
Nov 10 #Python
python使用正则表达式的search()函数实现指定位置搜索功能
Nov 10 #Python
Python3调用微信企业号API发送文本消息代码示例
Nov 10 #Python
Python实现图片滑动式验证识别方法
Nov 09 #Python
浅谈python中的占位符
Nov 09 #Python
速记Python布尔值
Nov 09 #Python
You might like
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
2012/09/13 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
2015/01/29 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
2021/03/04 PHP
javascript FormatNumber函数实现方法
2008/12/30 Javascript
javascript之AJAX框架使用说明
2010/04/24 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
微信小程序-拍照或选择图片并上传文件
2017/01/06 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
vue监听滚动事件实现滚动监听
2017/04/11 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
Vue动态获取width的方法
2018/08/22 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
weui上传多图片,压缩,base64编码的示例代码
2020/06/22 Javascript
vue如何在项目中调用腾讯云的滑动验证码
2020/07/15 Javascript
Python使用urllib2获取网络资源实例讲解
2013/12/02 Python
对python3 中方法各种参数和返回值详解
2018/12/15 Python
详解python的argpare和click模块小结
2019/03/31 Python
python中break、continue 、exit() 、pass终止循环的区别详解
2019/07/08 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
Python命名空间namespace及作用域原理解析
2020/06/05 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
python实现发送邮件
2021/03/02 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
香港化妆品经销商:我的公主
2016/08/05 全球购物
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
Loreto Gallo英国:欧洲领先的在线药房
2021/01/21 全球购物
留学自荐信的技巧
2013/10/17 职场文书
2016年党风廉政建设承诺书
2016/03/25 职场文书
7个关于Python的经典基础案例
2021/11/07 Python
HTTP中的Content-type详解
2022/01/18 HTML / CSS