中序遍历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年12月6日
  • kafka分区数量设置多少合适(kafka 分区个数与集群大小的关系)

    技术如何为Kafka集群确定合适的分区数以及分区数过多带来的弊端如何为Kafka集群确定合适的分区数以及分区数过多带来的弊端,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到

    攻略 2021年12月15日
  • PostgreSQL中AutoVacLauncherMain函数的实现逻辑是什么

    技术PostgreSQL中AutoVacLauncherMain函数的实现逻辑是什么本篇内容介绍了“PostgreSQL中AutoVacLauncherMain函数的实现逻辑是什么”的有关知识,在实际案例的操作过程中,不

    攻略 2021年11月9日
  • ADO.NET连接池有什么用

    技术ADO.NET连接池有什么用本篇内容主要讲解“ADO.NET连接池有什么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ADO.NET连接池有什么用”吧!ADO.NET经

    攻略 2021年12月3日
  • 美国企业云服务器中的关键功能

    技术美国企业云服务器中的关键功能并非每个美国云服务器都会为您的企业提供相同的功能集。在为您的企业选择完美的美国云服务器环境时,您需要注意某些能够帮助您获得最佳性能、可扩展性和安全性的功能。1. 稳固的服务器网络 美国云服

    礼包 2021年11月9日
  • 如何分析Python自动化运维开发中的变量

    技术如何分析Python自动化运维开发中的变量本篇文章给大家分享的是有关如何分析Python自动化运维开发中的变量,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看

    攻略 2021年12月4日