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 列表list使用介绍
Nov 30 Python
Python内置数据结构与操作符的练习题集锦
Jul 01 Python
Python max内置函数详细介绍
Nov 17 Python
python实现数据图表
Jul 29 Python
Python有序字典简单实现方法示例
Sep 28 Python
python里使用正则的findall函数的实例详解
Oct 19 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
Jul 19 Python
详解python多线程之间的同步(一)
Apr 03 Python
Python 实现一行输入多个数字(用空格隔开)
Apr 29 Python
浅谈tensorflow模型保存为pb的各种姿势
May 25 Python
python为什么会环境变量设置不成功
Jun 23 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
Oct 22 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
《一拳超人》埼玉一拳下去,他们存在了800年毫无意义!
2020/03/02 日漫
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
jquery渐隐渐显的图片幻灯闪烁切换实现方法
2015/02/26 Javascript
JavaScript里 ==与===区别详解
2016/08/16 Javascript
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
Vue渲染函数详解
2017/09/15 Javascript
JS动态修改网页body的背景色实例代码
2017/10/07 Javascript
vue项目实战总结篇
2018/02/11 Javascript
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
JS使用cookie保存用户登录信息操作示例
2019/05/30 Javascript
Vue基础学习之项目整合及优化
2019/06/02 Javascript
这15个Vue指令,让你的项目开发爽到爆
2019/10/11 Javascript
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
Python贪吃蛇游戏编写代码
2020/10/26 Python
Python编程之序列操作实例详解
2017/07/22 Python
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
Python queue队列原理与应用案例分析
2019/09/27 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
布局和排版教程 纯css3实现图片三角形排列
2014/10/17 HTML / CSS
Parfumdreams英国:香水和化妆品
2019/05/10 全球购物
大学生找工作推荐信范文
2013/11/28 职场文书
医院辞职信范文
2014/01/17 职场文书
2015社区健康教育工作总结
2015/05/20 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
初中政教处工作总结
2015/08/12 职场文书
小学语文教师研修感悟
2015/11/18 职场文书
2016年教师节感言
2015/12/09 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
Python Django ORM连表正反操作技巧
2021/06/13 Python