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实现的下载8000首儿歌的代码分享
Nov 21 Python
Python实现批量下载文件
May 17 Python
详解python并发获取snmp信息及性能测试
Mar 27 Python
Python AES加密模块用法分析
May 22 Python
Python tkinter模块中类继承的三种方式分析
Aug 08 Python
python使用生成器实现可迭代对象
Mar 20 Python
Python实现的读取电脑硬件信息功能示例
May 30 Python
python basemap 画出经纬度并标定的实例
Jul 09 Python
Django组件content-type使用方法详解
Jul 19 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
Oct 10 Python
Python面向对象实现方法总结
Aug 12 Python
让文件路径提取变得更简单的Python Path库
May 27 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
在IIS上安装PHP4.0正式版
2006/10/09 PHP
php.ini 中文版
2006/10/28 PHP
PHP求最大子序列和的算法实现
2011/06/24 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
js option删除代码集合
2008/11/12 Javascript
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
jQuery 名称冲突的解决方法
2011/04/08 Javascript
jquery修改网页背景颜色通过css方法实现
2014/06/06 Javascript
js定时器实例分享
2016/12/20 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
js 作用域和变量详解
2017/02/16 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
2017/09/10 jQuery
通过seajs实现JavaScript的模块开发及按模块加载
2019/06/06 Javascript
js实现的在本地预览图片功能示例
2019/11/09 Javascript
Vue实现简单的跑马灯
2020/05/25 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
vue实现的多页面项目如何优化打包的步骤详解
2020/07/19 Javascript
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
2018/01/29 Python
python删除过期log文件操作实例解析
2018/01/31 Python
Python查找两个有序列表中位数的方法【基于归并算法】
2018/04/20 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
美国在线宠物商店:Chewy
2019/01/12 全球购物
国培计划培训感言
2014/03/11 职场文书
买卖协议书范本
2014/04/21 职场文书
廉政承诺书2015
2015/04/28 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
2015年护士节活动策划方案
2015/05/04 职场文书