如何根据前序遍历和中序遍历创建python二叉树


今天就跟大家聊聊有关如何根据前序遍历和中序遍历创建python二叉树,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言四种遍历树的方法简介简介两种快速获得遍历结果的方 香港云主机法根据前序遍历和后续遍历创建树代码实现四种遍历树的方法的代码不说废话了,下面讲讲如何根据pre_order和in_order创建二叉树。首先这里简单介绍一下二叉树的4种遍历方式:前序遍历(pre_order)中序遍历(in_order)后序遍历(post_order)层序遍历(level_order)至于这些遍历的代码放在文章的最后。前序遍历就是先对当前的根节点进行操作,然后到左子节点,再到右子节点!中序遍历就是先对当前左子节点进行操作,然后到当前根节点,再到右子节点!后序遍历就是先对当前左子节点进行操作,然后到右子节点,再到当前根节点!层序遍历就是按照从上到下从左到右的顺序对每个节点进行操作!代码写起来比前三个复杂点,得借助队列,并用迭代的方式来做。如下图(之前上课做的笔记):另外,介绍两个 可以快速地 根据树的形状 得出 前序、后序、中序 的遍历结果。法一:法二:给你一个数组,用这个数组的值来创建一个树,结果有多种可能:其中n是数组中元素的个数!但是,如果我们给了两个数组,分别是前序遍历和后续遍历的结果,那么我们就能创建唯一的一个树!Note:要求数组中的元素不重复,是唯一的!看过上面对树的那几种遍历方式后,可以发现:Note:下面的这个过程有点枯燥,我表述地也不太好,可以看后面的图。前序遍历的第一个元素就是树的根节点;第二个元素是根节点的左子节点,这个左子节点也是后面的根节点;根节点把中序遍历的数组一分为二,中序遍历的数组中:根节点的左边是左树,根节点的右边是右树所以,我们就对前序遍历的数组进行遍历,当前索引记为pre_i,在每次遍历中,到中序遍历的数组中找这个pre_i对应的值,用这个pre_i把中序遍历的结果一分为二。这样往复下去就能还原树了。下面我画一下整个流程:大概就是这样,不断地对中序遍历的数组一分为二(根据前序遍历的数组的当前元素进行分割);中序遍历的数组的当前元素就是当前的根节点。先定义树的节点:根据前序遍历和中序遍历创建树:测试这段程序对创建出来的这个树,用四种遍历方法分别遍历一下子,四种遍历的代码在文末。上面这个是数字的,我现在拿字符串的试试:1.层序遍历2.前序遍历3.中序遍历4.后序遍历:看完上述内容,你们对如何根据前序遍历和中序遍历创建python二叉树有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注开发云行业资讯频道,感谢大家的支持。

相关推荐: Hive视图和索引简单介绍

本篇内容主要讲解“Hive视图和索引简单介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Hive视图和索引简单介绍”吧! Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 09/18 08:47
Next 09/18 08:47

相关推荐