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小程序
Aug 15 Python
跟老齐学Python之有容乃大的list(1)
Sep 14 Python
Python进行数据提取的方法总结
Aug 22 Python
python中找出numpy array数组的最值及其索引方法
Apr 17 Python
Pycharm 设置自定义背景颜色的图文教程
May 23 Python
python批量解压zip文件的方法
Aug 20 Python
Python namedtuple命名元组实现过程解析
Jan 08 Python
pytorch 模型的train模式与eval模式实例
Feb 20 Python
浅谈keras保存模型中的save()和save_weights()区别
May 21 Python
使用python求斐波那契数列中第n个数的值示例代码
Jul 26 Python
Python gevent协程切换实现详解
Sep 14 Python
python pymysql库的常用操作
Oct 16 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
PHP无限分类的类
2007/01/02 PHP
php mssql 数据库分页SQL语句
2008/12/16 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
多个jQuery版本共存的处理方案
2015/03/17 Javascript
jQuery实现平滑滚动页面到指定锚点链接的方法
2015/07/15 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
js正则表达式验证密码强度【推荐】
2017/03/03 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
简单实现jQuery手风琴效果
2017/08/18 jQuery
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
2020/07/22 Javascript
python 实现插入排序算法
2012/06/05 Python
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
MySQL适配器PyMySQL详解
2017/09/20 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
2018/03/30 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
django rest framework使用django-filter用法
2020/07/15 Python
想学画画?python满足你!
2020/12/24 Python
Farfetch台湾官网:奢侈品牌时尚购物平台
2019/06/17 全球购物
优秀学生干部个人的自我评价
2013/10/04 职场文书
毕业论文评语大全
2014/04/29 职场文书
班风学风建设方案
2014/05/06 职场文书
公务员个人考察材料
2014/12/23 职场文书
2016年国培心得体会及反思
2016/01/13 职场文书
纯html+css实现Element loading效果
2021/08/02 HTML / CSS
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
2022/01/18 Java/Android
mysql5.5中文乱码问题解决的有用方法
2022/05/30 MySQL