首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
输入一整数数组{5,7,6,9,11,10,8},该整数序列为图2-2所示的二叉排序树的后序遍历序列。请实现一个时间上尽可能高效率的算法,判断某一输入整数数组是否为某二叉排序树的后序遍历的结果。如果是返回true,否则返回false。假设输入的数组的任意两
输入一整数数组{5,7,6,9,11,10,8},该整数序列为图2-2所示的二叉排序树的后序遍历序列。请实现一个时间上尽可能高效率的算法,判断某一输入整数数组是否为某二叉排序树的后序遍历的结果。如果是返回true,否则返回false。假设输入的数组的任意两
admin
2017-11-20
115
问题
输入一整数数组{5,7,6,9,11,10,8},该整数序列为图2-2所示的二叉排序树的后序遍历序列。请实现一个时间上尽可能高效率的算法,判断某一输入整数数组是否为某二叉排序树的后序遍历的结果。如果是返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。要求:
说明你所设计算法的时间复杂度。
选项
答案
算法每次确定当前数组中的最后一个为子树的根,然后对数组进行扫描,把数组分成两部分,前面一部分是比根小的,作为左子树,后面一部分比根大的,作为右子树。这个扫描的过程为O(n)。然后递归地构造出整棵树,并判断构造出来的树是否合法。同样地考虑一个递增的数组,每次只能分离出最后一个作为树根,然后往下递归。在这个过程中,第i层的数组里有n-i+1个数,这样总的扫描的次数为n(n-1)/2,所以时间复杂度为O(n
2
)。 扩展:输入一个整数数组,判断该数组是不是某二叉排序树的前序遍历的结果。该题与前面分析的后序遍历非常类似,只是在前序遍历得到的序列中,第一个数字是根结点的值。
解析
转载请注明原文地址:https://kaotiyun.com/show/wjRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
魏晋南北朝的手工业技术有所进步,下列各项能反映这一特点的是()。①培育出“三熟之稻”②“灌钢”技术的发明③吴培育出八辈之蚕④纸成为最主要的书写材料
夏王朝建立后,将其领土划分为九州,派九牧进行治理,在九州范围内根据土地的肥沃程度缴纳贡赋,称为()。
1905年至1907年间,围绕中国究竟是采用革命手段还是改良方式这个问题,革命派与改良派进行论战的舆论阵地是()。
战时共产主义政策中对后来的工农联盟最能构成威胁的是()。
“两个凡是”
下列内容,哪些与垄断组织出现有关?()①控制一个或几个部门商品的生产、价格和市场②促进了大工业的发展,在某种程度上适应了生产力发展的需要③干预、控制国家的政治和经济生活④积极向外扩张,从经济上瓜分世界
解放军渡江战役中横渡长江的东西两个攻击点是()。
如下图所示为一个网络连接的示意图,主机1到主机2采用了SLIP网络连接,SLIP网络可以传输的最大数据段是296字节,主机2和主机3使用了以太网连接。请问:(1)为了使IP不分片,主机1可以在TCP包中承载多少数据?(2)主机3可以在TCP包中承载多
关于死锁的银行家算法是围绕“安全状态”的概念工作的。当系统预测到不安全状态时,就拒绝分配资源,但是,银行家算法要求的条件并不是必要的。例如,某系统有12个资源供进程P0、P1、P2使用。目前的分配情况如下:(1)请说明系统处于不安全状态;(2
随机试题
关于正催化剂,下列说法中正确的是()。
It’sanannualback-to-schoolroutine.Onemorningyouwavegood-bye,andthat【C1】______eveningyou’reburningthemid-nightoil
患者,男,36岁。因脑外伤而入院。体检:昏迷,体温37.9℃,脉搏82次/分,呼吸20次/分请回答:其目的是什么?
A.印度、埃及B.河北、陕西、江苏、安徽C.吉林、辽宁、黑龙江D.辽宁、吉林、陕西、四川E.广西、广东
患者,男性,56岁,患鼻咽癌,进行治疗。护士询问患者“你对放疗有什么想法?”这一问题属于
甲电视台获得了某歌星演唱会的现场直播权,乙电视台未经许可对甲电视台直播的演唱会实况进行转播,丙广播电台经过许可将现场演唱制作成C、D,丁音像店从正规渠道购买到C、D用于出租,戊未经许可将丙广播电台播放的演唱会录音录下后上传到网站上传播。下列哪些选项是正确的
属于路基质量检验中石方路基实测项目的有()。
中国证监会或者其派出机构可以作出终止审查的决定的情形包括()。
下列关于意见分歧的说法中,不正确的是()
“有志者、事竟成,破釜沉舟,百二秦关终属楚;苦心人、天不负,卧薪尝胆,三千越甲可吞吴。”此联所涉及的历史事件分别发生在:
最新回复
(
0
)