首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
输入一整数数组{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
61
问题
输入一整数数组{5,7,6,9,11,10,8},该整数序列为图2-2所示的二叉排序树的后序遍历序列。请实现一个时间上尽可能高效率的算法,判断某一输入整数数组是否为某二叉排序树的后序遍历的结果。如果是返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。要求:
根据设计思想,采用C、C++或Java语言描述算法,关键之处给出注释。
选项
答案
算法实现如下: bool VerifySquenceOfBST(int squence[], int length) { //判断非法输入数组 if(squence==NULL||length<=0) return falSe; //将数组的最后一个值赋值给根结点的值 int root=squence[length一1]; //在二叉排序树中左子树的结点值小于根结点的值 int i=0; for(;i<length-1;i++) { if(squence[i]>root) break; } //在二叉排序树中右子树的结点值大于根结点的值 int j=i; for(;j<length—1;j++) { if(squence[j]<root) return falSe; } //判断左子树是不是二叉排序树 bool left=true; if(i>0) left=verifySquenceofBST(squence,i); //判断右予树是不是二叉排序树 bool right=true; if(i<length-1) right=verifySquenceOfBST(squence+i,length-i-1); return(left &&right); }
解析
转载请注明原文地址:https://kaotiyun.com/show/Klxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
布雷顿森林体系是如何建立的,包括哪些内容?
对三国鼎立到隋朝重新统一全国这段历史时期的政局,叙述正确的是()。①只有西晋有过短暂的统一②大多数时间是多个政权分立、南北对峙的复杂政局③西晋、北魏、东晋都有过短暂的统一④除三国分立以外,其他时间基本上处于统
马克思说:巴黎公社“只不过是在特殊条件下的一个城市起义”。其含义是()。
马克思为第一国际起草的文件有()。①《共产党宣言》②《临时章程》③《成立宣言》④《资本论》
下列选项中,控制了西域政权的是()
我国第一部系统的史学理论著作是()。
联共(布)“十五大”以后,新经济政策被逐步取消,根本上是由于()。
1936年,张学良和杨虎城发动的西安事变()。①是一次具有爱国意义的兵变②民族矛盾激化的结果③检验了中国社会各阶级的抗日态度④促成了抗日民族统一战线初步形成
《道威斯计划》的实施所产生的直接结果是()。
明末清初,著名学者()抗清失败,前往日本讲学,传播中国文化。
随机试题
为了达到会见和会谈的目的,应首先()。
男,50岁,半年来反复出现腹泻,粪便糊样,时有腹泻和便秘交替;检查轻度贫血貌,右下腹部可扪及肿块,胃肠x线检查示回盲部钡剂充盈缺损。该患者首先应该排除的疾病诊断是
乳痈初起,证属肝气不疏,胃热壅滞。内治应首选
A.申脉、丘墟、解溪B.膝眼、梁丘、膝阳关C.环跳、秩边、承扶D.阳溪、阳池、阳谷E.曲池、小海、天井治疗肘部扭伤,除阿是穴外,宜选用
女,22岁。枕部痛半年伴压迫感,起病来头痛间断发作,不影响日常活动,给予5-羟色胺受体激动剂无效,初步考虑
下列关于海关的检查,说法正确的是()。
对大多数右利手的人来说,大脑两半球的功能表现为()。
Idont’tknow______ornot.
“罪责刑相适应是犯罪与刑罚之间的绝对适应”,请对这一说法进行辨析。
Theonlysurvivorofashipwreckwaswasheduponasmall,uninhabitedisland.Heprayed【C1】______forGodtorescuehim,andeve
最新回复
(
0
)