首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
输入一整数数组{5,7,6,9,1 1,10,8},该整数序列为图2—2所示的二叉排序树的后序遍历序列。请实现一个时间上尽可能高效率的算法,判断某一输入整数数组是否为某二叉排序树的后序遍历的结果。如果是返回true,否则返回false。假设输入的数组的任意
输入一整数数组{5,7,6,9,1 1,10,8},该整数序列为图2—2所示的二叉排序树的后序遍历序列。请实现一个时间上尽可能高效率的算法,判断某一输入整数数组是否为某二叉排序树的后序遍历的结果。如果是返回true,否则返回false。假设输入的数组的任意
admin
2017-04-28
80
问题
输入一整数数组{5,7,6,9,1 1,10,8},该整数序列为图2—2所示的二叉排序树的后序遍历序列。请实现一个时间上尽可能高效率的算法,判断某一输入整数数组是否为某二叉排序树的后序遍历的结果。如果是返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。要求:
说明你所设计算法的时间复杂度。
选项
答案
算法每次确定当前数组中的最后一个为子树的根,然后对数组进行扫描,把数组分成两部分,前面一部分是比根小的,作为左子树,后面一部分比根大的,作为右子树。这个扫描的过程为O(n)。然后递归地构造出整棵树,并判断构造出来的树是否合法。同样地考虑一个递增的数组,每次只能分离出最后一个作为树根,然后往下递归。在这个过程中,第i层的数组里有n—i+1个数,这样总的扫描的次数为n(n—1)/2,所以时间复杂度为O(n
2
)。 扩展:输入一个整数数组,判断该数组是不是某二叉排序树的前序遍历的结果。该题与前面分析的后序遍历非常类似,只是在前序遍历得到的序列中,第一个数字是根结点的值。
解析
转载请注明原文地址:https://kaotiyun.com/show/9XRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简述西欧经济一体化的原因、进程和意义。
结合诸条约内容简述中国社会沦为半殖民地半封建社会的过程。
论述中国封建社会中后期赋税制度变迁的主要内容。
()是一部上起传说中的黄帝,下迄汉武帝时期的中国通史,是中国历史上第一部内容完整、结构周密的历史著作。
“改土归流”政策的根本目的是()。
在阿拉伯()统治时期,阿拉伯军队曾与当时中国的唐朝军队发生冲突。
全国高校院系调整的具体时间是()。
下列哪个文件标志着“文化大革命”的发起?()
已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。要求:
已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。要求:
随机试题
A、①B、②C、③D、④A
女性,20岁,2年来双面颊部蝶形红斑,下肢水肿。1周来尿量减少,化验尿蛋白(+++),尿沉渣镜检RBC满视野,血ANA(+),抗ds-DNA(+)。对诊断和鉴别诊断最有意义的检查是
陈旧性脱位是指脱位已超过
“披纱征”或“狗耳征”是何种伪像造成的
关于肾癌,下列哪种说法不正确
出入境旅客携带检疫物品入境的,入境前必须如实填写(),主动向口岸检验检疫机构申报。
班集体在育人方面突出价值的实现是通过()。
下列选项中,以法律的适用范围为标准对法所作的分类是()。
HowtoapproachReadingTestPartFive•ThispartoftheReadingTesttestsyourabilitytoidentifyadditionalorunnecessary
ChokweSelassieisonamissiontohelpdriversavoidpotholes(路面坑洞).Theeighth-gradergothisinspirationonarecentmorning
最新回复
(
0
)