首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
输入一整数数组{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
84
问题
输入一整数数组{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
学硕统考专业
相关试题推荐
玛雅人的金字塔主要功能是()。
以城市为重点的整个经济体制改革的中心环节是()。
唐朝时,从中国传到大食的手工技术是()
明代中后期,苏州、松江、嘉兴、()、杭州五府,堪称江南最繁华的城市。
北魏建立和统一的时间分别是()。
周王室的两大官僚系统是()。
西南军阀跟随孙中山拥护护法运动的目的是()。
商族的远祖可追溯到尧舜时代的契,传说契母简狄吞玄鸟之卵而生契。契便是商人的祖先。以此传说推测,商族是以()为图腾的部落。
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
随机试题
古人种植的时候需要雨水,行船的时候需要有风,水和风能够按照季节准时而至,古人便把这种自然现象和秩序叫做“信”。有了“信”,人们才能进行生产劳动,才能正常生活。所以他们总是诚心诚意地祈求上天或神仙来保佑,以便得到准确、实在的“信”。后来人们认识到人类自身也需
Youreallyhavetogetveryoldbeforeyourealizeyou’reold.I’minmymiddlefiftiesandIdon’tfeel【21】yet.However,someti
28岁,闭经4个月,下腹坠痛1周,阴道少许出血2天。妇科检查:宫颈外口闭,子宫如孕5周大小,质软,双附件未及肿物,于闭经40天时,曾在外院行尿HCG试验阳性。(假设信息)此患者尿妊娠试验为阳性,首先应考虑的诊断是下列哪项
A.健脾丸B.保和丸C.四逆散D.痛泻要方E.葛根黄芩黄连汤脘腹胀痛,恶食呕逆,大便泄泻,舌苔厚腻,脉滑者,治宜选用()
党参的横切面的特征是
钢管的连接方法有( )。
施工企业实施和保持质量管理体系应遵循的纲领性文件是()。
商业银行的内部控制必须贯彻的原则不包括()。
房地产市场的运作机制,在很大程度上取决的因素是()。
2011年全国农民工总量达到25278万人,比上年增长4.4%。其中,外出农民工15863万人,比上年增长3.4%;本地农民工9415万人,比上年增长5.9%。从农民工的就业地区来看,2011年在东部地区务工的农民工16566万人,占农民工总量的65.5%
最新回复
(
0
)