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

作者:稀里糊涂林老冷 时间:2023-04-20 15:10:44 

本文实例讲述了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程序设计有所帮助。

来源:http://www.cnblogs.com/Lin-Yi/p/7355422.html

标签:Python,二叉树
0
投稿

猜你喜欢

  • python中upper是做什么用的

    2023-10-30 15:53:29
  • 解决 myJSFrame 框架中 Ajax 方法一处明显的内存泄露

    2008-03-09 19:14:00
  • 模型训练时GPU利用率太低的原因及解决

    2021-02-05 22:22:07
  • 非常全面的Python常见基础面试题及答案

    2022-11-14 17:03:33
  • Mysql字符串截取函数SUBSTRING的用法说明

    2024-01-24 14:53:51
  • Javascript浅拷贝与深拷贝实现

    2013-07-16 22:47:46
  • 去掉前面的0的sql语句(前导零,零前缀)

    2024-01-25 22:25:23
  • Python的Flask框架及Nginx实现静态文件访问限制功能

    2023-08-13 03:13:38
  • JavaScript实现九宫格抽奖

    2024-04-16 09:32:06
  • GoLang切片并发安全解决方案详解

    2024-05-09 09:54:15
  • Python自定义scrapy中间模块避免重复采集的方法

    2022-02-19 13:32:44
  • MSSQL中部分字段重复数据的删除方法

    2008-12-29 13:59:00
  • Django项目连接MongoDB的三种方法

    2022-05-27 05:23:43
  • 基于Python编写一个中秋节嫦娥投食小游戏

    2022-12-27 10:46:34
  • 利用C#远程存取Access数据库

    2024-01-27 01:58:32
  • 详解Python中break语句的用法

    2021-12-21 22:18:17
  • Spring Boot Mysql 数据库操作示例

    2024-01-19 10:22:28
  • 关于Python中的编码规范

    2021-11-07 02:38:02
  • 教女朋友学Python3(二)简单的输入输出及内置函数查看 <font color=red>原创</font>

    2022-11-14 08:32:18
  • Django模板语言 Tags使用详解

    2022-09-27 23:37:35
  • asp之家 网络编程 m.aspxhome.com