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系列之数据处理编程实例(一)
May 22 Python
centos系统升级python 2.7.3
Jul 03 Python
处理Python中的URLError异常的方法
Apr 30 Python
在Django的通用视图中处理Context的方法
Jul 21 Python
wxpython中自定义事件的实现与使用方法分析
Jul 21 Python
Python新手入门最容易犯的错误总结
Apr 24 Python
tensorflow 1.0用CNN进行图像分类
Apr 15 Python
python使用scrapy发送post请求的坑
Sep 04 Python
Python 访问限制 private public的详细介绍
Oct 16 Python
CentOS 7 安装python3.7.1的方法及注意事项
Nov 01 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
Jun 11 Python
python生成随机数、随机字符、随机字符串
Apr 06 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
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
PHP实现模仿socket请求返回页面的方法
2014/11/04 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
2016/05/27 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
JavaScript XML实现两级级联下拉列表
2008/11/10 Javascript
如何判断鼠标是否在DIV的区域内
2013/11/13 Javascript
javascript Event对象详解及使用示例
2013/11/22 Javascript
javascript计时器事件使用详解
2014/01/07 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
2016/05/17 Javascript
详解Node.js中的事件机制
2016/09/22 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
pandas多级分组实现排序的方法
2018/04/20 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
2019/04/04 Python
在cmd中查看python的安装路径方法
2019/07/03 Python
Pyqt5自适应布局实例
2019/12/13 Python
使用npy转image图像并保存的实例
2020/07/01 Python
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
幼师专业毕业生自荐信
2013/09/29 职场文书
季度思想汇报
2014/01/01 职场文书
2014厂务公开实施方案
2014/02/17 职场文书
司机岗位职责说明书
2014/07/29 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
小时代观后感
2015/06/10 职场文书
法人身份证明书
2015/06/18 职场文书
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技