当前位置: 首页 > news >正文

建站程序排名杭州百度首页优化

建站程序排名,杭州百度首页优化,重庆网站建设 渝icp,网站分几种类型通过序列构造二叉树 给出以下三个二叉树遍历的序列: (1) 前序: 1 2 3 4 5 6 8 7 9 10 11 12 13 15 14 (2) 中序: 3 4 8 6 7 5 2 1 10 9 11 15 13 14 12 (3) 后序: 8 7 6 5 4 3 2 10 15 14 13 12 11 9 1 前中序复原二叉树 所需序列 (1) 前序: 1 2 3 4 5 6 8 7 9 10 …

通过序列构造二叉树

给出以下三个二叉树遍历的序列:

(1) 前序: 1 2 3 4 5 6 8 7 9 10 11 12 13 15 14

(2) 中序: 3 4 8 6 7 5 2 1 10 9 11 15 13 14 12

(3) 后序: 8 7 6 5 4 3 2 10 15 14 13 12 11 9 1

前中序复原二叉树

所需序列

(1) 前序: 1 2 3 4 5 6 8 7 9 10 11 12 13 15 14

(2) 中序: 3 4 8 6 7 5 2 1 10 9 11 15 13 14 12

左子树复原

第一轮

通过前序: 前序第一个访问的是根节点,因此根节点就是1

通过中序:中序遍历的特点就是根节点的左子树的元素都在根节点的左侧,右子树的元素都在根节点的右侧,从中序遍历序列结合前序序列可知,中序序列1的左侧为左子树,1的右侧为右子树。从而前序通过中序划分可知,前序的左右子树。划分如下:

中序序列划分:        [3 4 8 6 7 5 2]  1  [ 10 9 11 15 13 14 12]

前序序列划分:           1 [2 3 4 5 6 8 7 ]   [9 10 11 12 13 15 14]

分析

如何知道两个括号从哪里分开?可参照中序的两个数组划分的。

前序中 7 之前的元素都在中序第一个数组中,9之后的所有元素都在第二个数组中,因此从7和9之间划分。

第一轮划分结果如下图 

image.png

第二轮

我们先看前序和中序的第一个数组
前序: 2 3 4 5 6 8 7

中序: 3 4 8 6 7 5 2

通过上面的结论可知:

        根节点为2(前序)

然后可划分为:

        前序: 2 [3 4 5 6 8 7 ]

        中序: [3 4 8 6 7 5 ] 2

第二轮划分结果如下图

image.png

第三轮

 对 3 4 5 6 8 7 继续划分:

前序: 3 [4 5 6 8 7]

中序: 3 [4 8 6 7 5] 

第三轮划分结果如下图

image.png

第四轮

对 4 5 6 8 7 进行划分:

前序:4 [5 6  8 7]

中序:4 [ 8 6 7 5 ]

 第四轮划分结果如下图

image.png

第五轮

对 5 6 8 7 划分:

前序:5 [6 8 7]

中序:[8 6 7] 5

第六轮 

对 6 8 7 划分

前序:6 [ 8 7 ]

中序: [8] 6 [7]

至此,便可知左子树的树结构了。

左子树的树结构效果如下: 

image.png

左子树的复原结果如下

image.png

右子树复原

第一轮

由第一轮可知如下序列

前序: 9 10 11 12 13 15 14

中序: 10 9 11 15 13 14 12

对其进行划分,结果如下

前序:9 [ 10 11 12 13 15 14]

中序:[10] 9 [11 15 13 14 12]

由结果可知,10 是 9 的左子树,11 15 13 14 12为还需划分的序列

 第二轮

将序列11 12 13 15 14进行划分:

前序:11 [12 13 15 14]

中序:11 [15 13 14 12]

第三轮 

将12 13 15 14进行划分:

前序:12[13 15 14]

中序: [15 13 14]12

第四轮

将 13 15 14进行划分:

前序:13 [ 15 14]

中序: [15] 13 [14]

最终由中序获得结果,15为13的左子树,14为13的右子树

左右子树复原结果如下 

image.png

中后序恢复二叉树

 通过中后序恢复二叉树与前中序唯一的不同就是:后续的最后一个是根节点,中序的处理和上述相同。所需序列如下:

(2) 中序: 3 4 8 6 7 5 2 1 10 9 11 15 13 14 12

(3) 后序: 8 7 6 5 4 3 2 10 15 14 13 12 11 9 1

左子树复原

第一轮

中序序列划分:[3 4 8 6 7 5 2] 1 [10 9 11 15 13 14 12]

后序序列划分:[8 7 6 5 4 3 2 ] [10 15 14 13 12 11 9 ]1

由于上述经过了上述分析,对划分结果有所了解了,因此此次划分就不画中间过程了

第二轮

对序列 8 7 6 5 4 3 2 进行划分

中序:[3 4 8 6 7 5 ] 2

后序:[8 7 6 5 4 3 ] 2

第三轮 

对序列 8 7 6 5 4 3 进行划分:

中序:3[4 8 6 7 5]

后序:[8 7 6 5 4] 3

第四轮

对序列8 7 6 5 4进行划分:

中序:4 [8 6 7 5]

后序:[8 7 6 5] 4

第五轮 

对序列8 7 6 5进行划分:

中序:[8 6 7 ] 5

后序:[8 7 6 ] 5

第六轮

对序列 8 7 6进行划分:

中序:[8] 6 [7]

后序:[8 7] 6

最终,由中序划分可知,8是6的左子树,7是6的右子树

左子树复原结果如下 

image.png

右子树复原

右子树复原所需要的序列:

中序:10 9 11 15 13 14 12

后序:10 15 14 13 12 11 9

第一轮

将序列10 15 14 13 12 11 9进行划分(一般选择能确定根节点的那个节点):

中序:[10] 9 [11 15 13 14 12]

后序:[10 15 14 13 12 11]  9

由此划分可知,10为9的左节点,11 15 13 14 12为9的右子树

第二轮 

 对序列15 14 13 12 11进行划分:

中序:11 [15 13 14 12]

后序:[15 14 13 12] 11

第三轮 

对序列15 14 13 12进行划分:

中序:[15 13 14] 12

后序:[15 14 13] 12

第四轮

对序列15 14 13 进行划分:

中序:[15] 13 [14]

后序:[15 14]13

从中序结果可知,15为13的左子树,14为13的右子树

左右子树复原结果如下 

image.png

由此可知,前中序和中后序恢复成 二叉树的过程有些不同,但是所需的步骤和结果都是一致的。

知道了序列是如何构造成二叉树之后,便可以将其使用代码实现了,代码实现在下次总结。 

http://www.dt0577.cn/news/52165.html

相关文章:

  • 网站建设手机站百度竞价教程
  • 一条龙做网站今日头条十大热点
  • 用jsp做网站的技术路线seo网站排名后退
  • 淘宝网站是谁做的好处东莞网站建设平台
  • 有哪些推广的网站免费建站免费网站
  • 网站程序模板千峰培训可靠吗?
  • 统一企业官方网站百度一下就知道百度首页
  • 徐州市住房和城乡建设局网站首页网站创建流程
  • 做调查问卷权威网站seo短视频发布页
  • 网站背景修改苏州百度代理公司
  • 云南南网站开发视频号直播推广二维码
  • 重庆建设网站首页百度产品优化排名软件
  • 公众号做微网站谷歌seo是什么职业
  • 装饰公司名称大全简单大气网站优化推广费用
  • 做动画在线观看网站沧州搜索引擎优化
  • win7 发布asp网站今日头条官网首页
  • 建设网站需要申请哈尔滨推广优化公司
  • 大象戌人视频入口2022山西seo优化
  • 微信的微网站模板下载查网址
  • 建设企业网站的申请宁波seo服务快速推广
  • 不干胶网站做最好的什么是搜索引擎营销?
  • 湘潭建网站更厉害的病毒2024
  • 大连专业模板网站制作公司益阳网站seo
  • 长春网站制作报价seo搜索推广
  • wordpress 百度收录2022网站seo
  • 网站站点多少钱宁波seo推广推荐公司
  • 做网站时如何将前端连接到后台网站如何优化排名
  • 视频直播网站开发流程seo 专业
  • 网站建设学费多少钱电脑优化工具
  • 微软公司做网站的软件深圳百度seo培训