中序遍历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)

相关推荐

  • 手机怎么拍一寸照片,自拍照如何做成一寸证件照

    技术手机怎么拍一寸照片,自拍照如何做成一寸证件照第一步,先打开手机上面的微信,点击下方的“发现”即可手机怎么拍一寸照片。在微信“发现”页面点击“小程序”,并且在输入框内输入证件照。此时,点击手机页面的证件照生成器进入就可

    生活 2021年10月30日
  • 为什么开发Deno

    技术为什么开发Deno本篇内容主要讲解“为什么开发Deno”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“为什么开发Deno”吧!0. 为什么开发 Deno?这是我上周做的一张

    攻略 2021年11月11日
  • jvm有哪些垃圾回收机制(jvm垃圾回收实现原理和优点)

    技术JVM垃圾回收基本原理是什么这篇文章主要介绍“JVM垃圾回收基本原理是什么”,在日常操作中,相信很多人在JVM垃圾回收基本原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JVM

    2021年12月21日
  • 去除衣服霉点小妙招,怎样去除衣服上面的霉点

    技术去除衣服霉点小妙招,怎样去除衣服上面的霉点家里长期存放的衣服上面都会有或大或小的霉斑,可以用以下方法去除去除衣服霉点小妙招:1、棉线衣服出现霉斑时,用绿豆芽在有霉斑的地方反复揉搓,并用清水漂洗干净,霉斑就会消除。丝绸

    生活 2021年10月21日
  • 抖音刷双击秒刷,如何选择优质的刷赞平台

    技术抖音刷双击秒刷,如何选择优质的刷赞平台抖音的粉丝在哪儿买?怎样可以增加抖音的点赞和粉丝?现在很多人都喜欢抖音短视频,这段时间里,抖音很火,抖音挑战赛开始后,参与人数很多。每个人都在想如何才能拍出高质量的视频,观看量,

    测评 2021年10月21日
  • 如何理解django中url路由系统

    技术如何理解django中url路由系统如何理解django中url路由系统,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。对于高质量的Web

    攻略 2021年10月21日