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实现向QQ群成员自动发邮件的方法
Nov 19 Python
python中根据字符串调用函数的实现方法
Jun 12 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
Nov 30 Python
python实现在pandas.DataFrame添加一行
Apr 04 Python
python3.x实现发送邮件功能
May 22 Python
python 利用文件锁单例执行脚本的方法
Feb 19 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
Apr 15 Python
python图形工具turtle绘制国际象棋棋盘
May 23 Python
Python字典对象实现原理详解
Jul 01 Python
python做反被爬保护的方法
Jul 01 Python
python实现的生成word文档功能示例
Aug 23 Python
Matplotlib.pyplot 三维绘图的实现示例
Jul 28 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
全国FM电台频率大全 - 11 浙江省
2020/03/11 无线电
编写自己的php扩展函数
2006/10/09 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
JScript中的"this"关键字使用方式补充材料
2007/03/08 Javascript
一段批量给页面上的控件赋值js
2010/06/19 Javascript
js控制文本框只输入数字和小数点的方法
2015/03/10 Javascript
深入理解JS addLoadEvent函数
2016/05/20 Javascript
第十篇BootStrap轮播插件使用详解
2016/06/21 Javascript
前端开发之CSS原理详解
2017/03/11 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
详解如何创建并发布一个 vue 组件
2018/11/08 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
Element-ui中元素滚动时el-option超出元素区域的问题
2019/05/30 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
JavaScript实现简单随机点名器
2019/11/21 Javascript
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
python中关于日期时间处理的问答集锦
2013/03/08 Python
python中dir函数用法分析
2015/04/17 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
python 读取dicom文件,生成info.txt和raw文件的方法
2019/01/24 Python
python实现扫描ip地址的小程序
2019/04/16 Python
python+openCV调用摄像头拍摄和处理图片的实现
2019/08/06 Python
python定时任务 sched模块用法实例
2019/11/04 Python
Python图片的横坐标汉字实例
2019/12/04 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
中国旅游网站:同程旅游
2016/09/11 全球购物
购买正版游戏和游戏激活码:Green Man Gaming
2019/11/06 全球购物
体育之星事迹材料
2014/05/11 职场文书
2015年监理工作总结范文
2015/04/07 职场文书
环保守法证明
2015/06/24 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
篮球拉拉队口号
2015/12/25 职场文书