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三元运算实现方法
Jan 12 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
Nov 29 Python
python矩阵转换为一维数组的实例
Jun 05 Python
Python提取频域特征知识点浅析
Mar 04 Python
用python3 返回鼠标位置的实现方法(带界面)
Jul 05 Python
Pandas —— resample()重采样和asfreq()频度转换方式
Feb 26 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
Apr 22 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
May 18 Python
Python如何转换字符串大小写
Jun 04 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
Jun 29 Python
记一次Django响应超慢的解决过程
Sep 17 Python
利用Python过滤相似文本的简单方法示例
Feb 03 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中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
PHP插入排序实现代码
2013/04/04 PHP
php 模拟get_headers函数的代码示例
2013/04/27 PHP
神盾加密解密教程(二)PHP 神盾解密
2014/06/08 PHP
WebQQ最新登陆协议的用法
2014/12/22 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
jQuery学习5 jQuery事件模型
2010/02/07 Javascript
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
浅谈Javascript变量作用域问题
2014/12/16 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
JS实现焦点图轮播效果的方法详解
2016/12/19 Javascript
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
vue中Axios的封装与API接口的管理详解
2018/08/09 Javascript
小程序如何获取多个formId实现详解
2019/09/20 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
2020/06/11 Javascript
jQuery 实现扁平式小清新导航
2020/07/07 jQuery
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
python 求某条线上特定x值或y值的点坐标方法
2019/07/09 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
利用Python中的Xpath实现一个在线汇率转换器
2020/09/09 Python
python实现简单的学生管理系统
2021/02/22 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
FLOS美国官网:意大利高级照明工艺的传奇
2018/08/07 全球购物
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
工作中的自我评价如何写好
2013/10/28 职场文书
劳动实践课感言
2014/02/01 职场文书
合伙经营协议书范本
2014/04/18 职场文书
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
2015年小班保育员工作总结
2015/05/27 职场文书
退货证明模板
2015/06/23 职场文书
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript