Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例


Posted in Python onJuly 27, 2018

本文实例讲述了Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作。分享给大家供大家参考,具体如下:

实现一个功能:

    输入:一颗二叉树的先序和中序遍历
    输出:后续遍历

思想:

先序遍历中,第一个元素是树根
    在中序遍历中找到树根,左边的是左子树 右边的是右子树

Python代码:

# -*- coding:utf-8 -*-
def fromFMtoL( mid ):
  global las #全局后序遍历
  global fir #先序遍历
  root = fir[0]  #取出当前树根
  fir = fir[1:]  #取出树根后 先序遍历把根拿出来 下面一个元素做树根
  root_po = mid.find( root ) #在中序遍历当中树根的位置
  left = mid[0:root_po]  #左子树
  right = mid[root_po+1:len(mid)] #右子树
  '''
  后序遍历: 左 右 根 
  先左子树 再右子树 最后跟
  '''
  #有左子树的时候
  if len(left) > 0:
    fromFMtoL( left )
  #有右子树的时候
  if len(right) > 0:
    fromFMtoL( right )
  #树根写进结果
  las += root
if __name__ == "__main__" :
  # fir = input("请输入先序遍历:")   #前序遍历的结果
  # mid = input("请输入中序遍历:")   #中序遍历的结果
  fir = "DBACEGF"
  mid = "ABCDEFG"
  # fir = "ABC"
  # mid = "BAC"
  las = ""
  fromFMtoL( mid )
  print(las)

运行结果:

ACBFGED

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
在Python中处理列表之reverse()方法的使用教程
May 21 Python
python使用pyqt写带界面工具的示例代码
Oct 23 Python
Python网络爬虫神器PyQuery的基本使用教程
Feb 03 Python
python保存网页图片到本地的方法
Jul 24 Python
对Python模块导入时全局变量__all__的作用详解
Jan 11 Python
python实现控制台打印的方法
Jan 12 Python
基于Python的PIL库学习详解
May 10 Python
Python绘制频率分布直方图的示例
Jul 08 Python
使用Python实现跳一跳自动跳跃功能
Jul 10 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
Jul 15 Python
django echarts饼图数据动态加载的实例
Aug 12 Python
Python实现寻找回文数字过程解析
Jun 09 Python
tensorflow 加载部分变量的实例讲解
Jul 27 #Python
Python基于递归算法求最小公倍数和最大公约数示例
Jul 27 #Python
Python切片操作深入详解
Jul 27 #Python
对Tensorflow中的变量初始化函数详解
Jul 27 #Python
JavaScript中的模拟事件和自定义事件实例分析
Jul 27 #Python
浅谈tensorflow中几个随机函数的用法
Jul 27 #Python
tensorflow 中对数组元素的操作方法
Jul 27 #Python
You might like
收集的PHP中与数组相关的函数
2007/03/22 PHP
用PHP连接MySQL代码的参数说明
2008/06/07 PHP
php设计模式小结
2013/02/15 PHP
PHP安全的URL字符串base64编码和解码
2014/06/19 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
2015/01/29 PHP
教你php如何实现验证码
2016/01/20 PHP
php车辆违章查询数据示例
2016/10/14 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
理解Javascript_15_作用域分配与变量访问规则,再送个闭包
2010/10/20 Javascript
JQuery live函数
2010/12/24 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
Vue2递归组件实现树形菜单
2017/04/10 Javascript
Three.js如何实现雾化效果示例代码
2017/09/27 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
JavaScript 异步时序问题
2020/11/20 Javascript
Python Deque 模块使用详解
2014/07/04 Python
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
python中selenium库的基本使用详解
2020/07/31 Python
去除python中的字符串空格的简单方法
2020/12/22 Python
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
如何判断计算机可能已经中马
2013/03/22 面试题
20年同学聚会感言
2014/02/03 职场文书
遥感技术与仪器求职信
2014/02/22 职场文书
小学语文业务学习材料
2014/06/02 职场文书
关于青春的演讲稿800字
2014/08/22 职场文书
单身狗福利?Python爬取某婚恋网征婚数据
2021/06/03 Python
MySQL常见优化方案汇总
2022/01/18 MySQL