首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
输入一整数数组{5,7,6,9,11,10,8},该整数序列为图2-2所示的二叉排序树的后序遍历序列。请实现一个时间上尽可能高效率的算法,判断某一输入整数数组是否为某二叉排序树的后序遍历的结果。如果是返回true,否则返回false。假设输入的数组的任意两
输入一整数数组{5,7,6,9,11,10,8},该整数序列为图2-2所示的二叉排序树的后序遍历序列。请实现一个时间上尽可能高效率的算法,判断某一输入整数数组是否为某二叉排序树的后序遍历的结果。如果是返回true,否则返回false。假设输入的数组的任意两
admin
2014-04-17
77
问题
输入一整数数组{5,7,6,9,11,10,8},该整数序列为图2-2所示的二叉排序树的后序遍历序列。请实现一个时间上尽可能高效率的算法,判断某一输入整数数组是否为某二叉排序树的后序遍历的结果。如果是返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。要求:
给出算法的基本设计思想。
选项
答案
基本设计思想:首先,使用后序遍历得到的序列的最后一个结点一定是根结点的值。而根结点前面的整数序列可分为两部分:第一部分是左子树结点的值,它们都比根结点的值小;第二部分是右子树结点的值,它们都比根结点的值大。 以数组(5,7,6,9,11,10,8)为例,后序遍历结果的最后一个数字8就是根结点的值。在这个数组中,前3个数字5、7和6都比8小,是值为8的根结点的左子树特点;后3个数字9、11和10都比8大,是值为8的根结点的右子树结点。接下来需要用同样的方法确定与数组每一部分对应的子树结构。很明显,这是一个递归的过程。对于整数序列5、7和6,最后一个数字6是左子树的根结点的值。数字5比6小,是值为6的结点的左子结点,而7则是它的右子结点。同样,在序列9、11和10中,最后一个数字10是右子树的根结点的值,数字9比10小,是值为10的结点的左子结点,而11则是它的右子结点。 再举一个反例。例如,整数数组{8,1,6,5},后序遍历的最后一个数是根结点,因此根结点的值是5。由于第一个数字8大于5,冈此可以肯定此二叉排序树的根结点上没有左子树,数字8、1和6都是右子树结点的值。但发现在右子树中有一个结点的值是1,比根结点的值5小,这就违背了二叉排序树的定义。因此,不存在一棵二叉排序树,它的后序遍历的结果是8、1、6、5。
解析
转载请注明原文地址:https://kaotiyun.com/show/7lxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
体格拉特.帕拉沙尔三世改革的主要内容及其结果。
简述近代香港问题的形成。
“文化大革命”发动的两个纲领性文件是()。
马克思说:巴黎公社“只不过是在特殊条件下的一个城市起义”。其含义是()。
中国第一条自行设计修建的铁路是在()
中国历史上第一部资产阶级革命法典《临时约法》公布的时间是()。
以下不属于国民党控制金融的“四行”的是()。
联共(布)“十五大”以后,新经济政策被逐步取消,根本上是由于()。
《道威斯计划》的实施所产生的直接结果是()。
美国主张建立国际联盟的主要目的是()。
随机试题
论述治理窜货问题的对策。
关于DNA拓扑异构酶的叙述,下列哪项是错误的
化疗病人,考虑停药的白细胞计数为
某机场的机械师陆某对机场领导人员心怀不满,在某次为等待执行任务的一架波音747客机进行机械检修时,故意对飞机的发动机装置进行了破坏。但恰好这架飞机此次没有投入运营。在第二天运营前机械师陈某在对飞机进行检修时发现了故障并及时进行了排除。对陆某的行为如何认定?
最高管理者在质量管理体系中的作用包括( )。
FIDIC施工合同条件规定,业主发出中标函的( )天内,接到承包商提交的履约保证后,双方签署的法律性标准化格式文件就是合同协议书。
填写票据和结算凭证应标准化、规范化,做到()。
若某处理器的时钟频率为500MHz,每四个时钟周期组成一个机器周期,执行一条指令平均需要三个机器周期,则该处理器的一个机器周期为(13)ns,平均执行速度约为(14)MIPS。
Whatkindoffuseisusuallyfixedinathree-pinplug?
Withoutyourhelp,we______somuch.
最新回复
(
0
)