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 相关文章推荐
pygame学习笔记(6):完成一个简单的游戏
Apr 15 Python
python删除指定类型(或非指定)的文件实例详解
Jul 06 Python
Python多线程、异步+多进程爬虫实现代码
Feb 17 Python
使用Python编写Prometheus监控的方法
Oct 15 Python
BP神经网络原理及Python实现代码
Dec 18 Python
使用CodeMirror实现Python3在线编辑器的示例代码
Jan 14 Python
django框架自定义模板标签(template tag)操作示例
Jun 24 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
Sep 29 Python
python生成器推导式用法简单示例
Oct 08 Python
Django自定义用户表+自定义admin后台中的字段实例
Nov 18 Python
python隐藏类中属性的3种实现方法
Dec 19 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
Feb 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
PHP中echo和print的区别
2014/08/28 PHP
解决yii2左侧菜单子级无法高亮问题的方法
2016/05/08 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
js每次Title显示不同的名言
2008/09/25 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
10个JavaScript中易犯小错误
2016/02/14 Javascript
微信小程序 require机制详解及实例代码
2016/12/14 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
2017/01/03 Javascript
基于vue的fullpage.js单页滚动插件
2017/03/20 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
vue中用 async/await 来处理异步操作
2020/07/18 Javascript
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
python实现将汉字转换成汉语拼音的库
2015/05/05 Python
详解Python3中的Sequence type的使用
2015/08/01 Python
python安装cx_Oracle模块常见问题与解决方法
2017/02/21 Python
python使用mysql数据库示例代码
2017/05/21 Python
Python登录注册验证功能实现
2018/06/18 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
Python可以实现栈的结构吗
2020/05/27 Python
Python 高效编程技巧分享
2020/09/10 Python
css3闪亮进度条效果实现思路及代码
2013/04/17 HTML / CSS
css3实现3d旋转动画特效
2015/03/10 HTML / CSS
Mytheresa美国官网:德国知名的女性奢侈品电商
2017/05/27 全球购物
工程造价专业大学生自荐信
2013/10/01 职场文书
2014会计年终工作总结
2014/12/20 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
入党群众意见范文
2015/06/02 职场文书
培训心得体会怎么写
2016/01/25 职场文书
八年级语文教学反思
2016/03/03 职场文书
Fluentd搭建日志收集服务
2022/09/23 Servers