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脚本实现12306火车票查询系统
Sep 30 Python
python实现二维码扫码自动登录淘宝
Dec 27 Python
tensorflow TFRecords文件的生成和读取的方法
Feb 06 Python
教你使用python画一朵花送女朋友
Mar 29 Python
django 修改server端口号的方法
May 14 Python
用python 实现在不确定行数情况下多行输入方法
Jan 28 Python
python 定时器,轮询定时器的实例
Feb 20 Python
Python3.5以上版本lxml导入etree报错的解决方案
Jun 26 Python
解决Python中pandas读取*.csv文件出现编码问题
Jul 12 Python
python如何进行矩阵运算
Jun 05 Python
python 如何利用argparse解析命令行参数
Sep 11 Python
Python 用__new__方法实现单例的操作
Dec 11 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
thinkphp3查询mssql数据库乱码解决方法分享
2014/02/11 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
js setattribute批量设置css样式
2009/11/26 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
Vue.js框架路由使用方法实例详解
2017/08/25 Javascript
浅谈JS函数节流防抖
2017/10/18 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
微信小程序实现跑马灯效果
2020/10/21 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
JS求解两数之和算法详解
2020/04/28 Javascript
Python使用三种方法实现PCA算法
2017/12/12 Python
pyshp创建shp点文件的方法
2018/12/31 Python
Python多线程同步---文件读写控制方法
2019/02/12 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
五种Python转义表示法
2020/11/27 Python
python 对象真假值的实例(哪些视为False)
2020/12/11 Python
Python用Jira库来操作Jira
2020/12/28 Python
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
贝佳斯官方网站:Borghese
2020/05/08 全球购物
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
2014/09/16 面试题
企业法人授权委托书
2014/09/25 职场文书
2014年预算员工作总结
2014/12/05 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
公司老总年会致辞
2015/07/30 职场文书
检讨书范文
2019/04/16 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL