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

相关推荐

  • Flutter Android应用启动白屏怎么办

    技术Flutter Android应用启动白屏怎么办小编给大家分享一下Flutter Android应用启动白屏怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让

    攻略 2021年11月11日
  • Week Eight

    技术Week Eight Week Eight数组、字符串
    一. 给一个字符数组赋值 char a[ 6] = “china” 与char a[ ]={‘c’,’h’,’i’,’n’,’a’}所有字符串

    礼包 2021年11月15日
  • 如何解决SpringSecurityOAuth2 redis反序列失败问题

    技术如何解决SpringSecurityOAuth2 redis反序列失败问题这期内容当中小编将会给大家带来有关如何解决SpringSecurityOAuth2 redis反序列失败问题,文章内容丰富且以专业的角度为大家

    攻略 2021年10月21日
  • 抖音刷粉网址,人工刷粉丝会被封号吗?

    技术抖音刷粉网址,人工刷粉丝会被封号吗?抖音是当下非常受欢迎的一个社交软件,这样一个宣传度广的社交平台自然会吸引很多商家入驻广告,也就会衍生出很多的带货网红。成长一个做宣传推广的带货网红,前提是要有人气要有粉丝关注才能有

    测评 2021年11月11日
  • Vue中Watcher和Scheduler的实现原理是什么

    技术Vue中Watcher和Scheduler的实现原理是什么这篇文章主要介绍“Vue中Watcher和Scheduler的实现原理是什么”,在日常操作中,相信很多人在Vue中Watcher和Scheduler的实现原理

    攻略 2021年12月3日
  • redis使用了哪些数据结构(redis数据结构有哪些)

    技术redis数据结构有哪些内容本篇内容主要讲解“redis数据结构有哪些内容”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“redis数据结构有哪些内容”吧!redis不只是

    攻略 2021年12月23日