中序遍历python(python前序后序遍历构造二叉树)

技术如何从前序与中序遍历序列构造python二叉树如何从前序与中序遍历序列构造python二叉树,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获

如何根据前序和前序遍历序列构造python二叉树,很多新手都不是很清楚。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。需要的人可以从中学习,希望你能有所收获。

【标题】

根据树的前序遍历和前序遍历构造二叉树。

注意:您可以假设树中没有重复的元素。

例如,给定

前序遍历前序=[3,9,20,15,7]

有序遍历顺序=[9,3,15,20,7]

返回以下二叉树:

/\

920

/\

157

[思考]

首先回顾一下遍历顺序:先行遍历是根节点-左子树-右子树,中间遍历是左子树-根节点-右子树。

那么前序遍历数组的第一个元素必须是根节点。如果在预序遍历数组中找到这个元素,那么它的前一部分是左子树的元素,后一部分是右子树的元素。可以递归求解。

注意:不能通过遍历前序和后序来确定唯一二叉树!

[代码]

python版本

# Definitionforabinarytreenode。

#classTreeNode(对象):

#def__init__(self,x):

#self.val=x

# self.left=无

#自我正确=无

类别解决方案(对象):

defbuildTree(自订、预订、订单):

'''

:类型预订:列表[int]

:类型编辑器:列表[int]

:rtype:TreeNode重新编码

'''

#前言遍历,第一个是头

#中序遍历,前一部分是左子树,后一部分是右子树。

iflen(preorder)=0:

返回无

node=TreeNode(preorder[0])

index=inoder . index(preorder[0])

node . left=self . BuildTree(preorder[1: index 1],inoder[: index])

node . right=self . build tree(preorder[index 1:],inoder[index 1:])

return node[类似主题]

通过遍历中序和后序序列构造二叉树

解决方法:序数遍历数组的最后一个元素是根节点的元素,这个元素也在序数遍历数组中找到,递归生成二叉树。

根据前后序遍历构造二叉树。

解决方法:直接生成只有合适子树的二叉树就可以满足条件。

阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/144278.html

(0)

相关推荐

  • mysql数据库数据表的基本操作(mysql数据库中怎么创建数据表)

    技术MySQL如何创建数据库和创建数据表本篇内容介绍了“MySQL如何创建数据库和创建数据表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年12月23日
  • 雄伟的反义词,气势宏大雄伟的意思写词语

    技术雄伟的反义词,气势宏大雄伟的意思写词语气势磅礴雄伟的反义词、气吞山河、一泻千里、地动山摇、波澜壮阔、排山倒海、气贯长虹、浩浩荡荡、声势浩大、汹涌澎湃、千军万马、气吞虹霓。1、一泻千里【解释】:泻:水往下直注。形容江河

    生活 2021年10月26日
  • 抖音1元1w粉的软件,抖音几万赞是怎么弄的?

    技术抖音1元1w粉的软件,抖音几万赞是怎么弄的?抖音相信大家并不陌生,抖音现在可谓是最受大家欢迎的短视频平台。可能很多抖音的朋友经常分享的视频没有点赞,可能觉得很尴尬。所以,小编今天给大家带来款抖音刷赞刷粉丝的神器。每天

    测评 2021年11月10日
  • MHA在线切换脚本master_ip_online_change如何结合VIP

    技术MHA在线切换脚本master_ip_online_change如何结合VIP这篇文章主要介绍MHA在线切换脚本master_ip_online_change如何结合VIP,文中介绍的非常详细,具有一定的参考价值,感

    攻略 2021年11月23日
  • CF1148H Holy Diver

    技术CF1148H Holy Diver CF1148H Holy Diver一、题目
    点此看题
    二、解法
    输入特性要求的做法就应该是移动右端点 \(r\) 然后维护一些东西。
    首先考虑怎么维护 \([

    礼包 2021年10月28日
  • 怎么使用MySQL中的select、distinct、limit

    技术怎么使用MySQL中的select、distinct、limit这篇文章主要讲解了“怎么使用MySQL中的select、distinct、limit”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路

    攻略 2021年11月10日