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

相关推荐

  • Java世界常用的工具类库有哪些

    技术Java世界常用的工具类库有哪些小编给大家分享一下Java世界常用的工具类库有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Apach

    攻略 2021年12月9日
  • 长发发型扎法100种图片,有什么好看的编发值得推荐么

    技术长发发型扎法100种图片,有什么好看的编发值得推荐么临时被邀请参加聚会,再去做美发是肯定来不及了,又不想顶着乱糟糟的头发参加聚会,该怎么办呢?今天我就教大家一款能够简易俗称的盘发,优雅又自然,不会显得太过隆重,简单搭

    生活 2021年10月31日
  • vue v-for循环中key属性的使用

    技术vue v-for循环中key属性的使用 vue v-for循环中key属性的使用!DOCTYPE html
    html lang=”en”headmeta charset=”UTF-8″meta n

    礼包 2021年11月14日
  • 如何在一台树莓派上安装Postgres数据库

    技术如何在一台树莓派上安装Postgres数据库这篇文章将为大家详细讲解有关如何在一台树莓派上安装Postgres数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在你的下一个树莓派

    2021年10月26日
  • 怎么解决TensorFlowGPU版出现OOM错误的问题

    技术怎么解决TensorFlowGPU版出现OOM错误的问题这篇文章主要介绍“怎么解决TensorFlowGPU版出现OOM错误的问题”,在日常操作中,相信很多人在怎么解决TensorFlowGPU版出现OOM错误的问题

    攻略 2021年11月4日
  • 什么是javascript超集

    技术什么是javascript超集本篇内容介绍了“什么是javascript超集”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有

    攻略 2021年10月25日