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 18 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
Apr 20 Python
Centos Python2 升级到Python3的简单实现
Jun 21 Python
python 创建弹出式菜单的实现代码
Jul 11 Python
Python抓取框架Scrapy爬虫入门:页面提取
Dec 01 Python
python代码 输入数字使其反向输出的方法
Dec 22 Python
python数据分析:关键字提取方式
Feb 24 Python
音频处理 windows10下python三方库librosa安装教程
Jun 20 Python
浅谈python出错时traceback的解读
Jul 15 Python
Python如何发送与接收大型数组
Aug 07 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
Oct 29 Python
Django框架中模型的用法
Jun 10 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 allow_url_include的应用和解释
2010/04/22 PHP
php性能优化分析工具XDebug 大型网站调试工具
2011/05/22 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
2011/12/05 PHP
php多任务程序实例解析
2014/07/19 PHP
彻底搞懂PHP 变量结构体
2017/10/11 PHP
yii2的restful api路由实例详解
2019/05/14 PHP
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
2013/08/07 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
js漂浮广告实现代码
2015/08/15 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
2016/08/10 Javascript
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
详解vue-cli 2.0配置文件(小结)
2019/01/14 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
React Hooks 实现和由来以及解决的问题详解
2020/01/17 Javascript
js正则表达式简单校验方法
2021/01/03 Javascript
详解Python的Django框架中的模版相关知识
2015/07/15 Python
Python单例模式实例详解
2017/03/01 Python
Python使用win32com实现的模拟浏览器功能示例
2017/07/13 Python
python机器学习之神经网络(三)
2017/12/20 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
python多进程控制学习小结
2018/10/31 Python
Python matplotlib画图与中文设置操作实例分析
2019/04/23 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
办公室内勤工作职责
2013/12/11 职场文书
迟到检讨书400字
2014/01/13 职场文书
文案策划求职信
2014/03/18 职场文书
党日活动总结
2014/05/07 职场文书
技术岗位竞聘演讲稿
2014/05/16 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
通知的格式范文
2015/04/27 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书
基于Python实现西西成语接龙小助手
2022/08/05 Golang