首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
输入一整数数组{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
75
问题
输入一整数数组{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
学硕统考专业
相关试题推荐
论述一战后德国的赔款问题
下列各组条约的时间排列顺序正确的是()①《布列斯特条约》②《色佛尔条约》③《九国公约》④《洛桑条约》
南北朝时期,佛教盛行。与此现象无关的是()。
戊戌政变发生的时间是()。
对西欧封建社会的说法不正确的是()。
下列选项中,控制了西域政权的是()
清朝,各地督抚将重大问题径寄军机处交皇帝审批,称为()。
文艺复兴时期,系统提出了国家主权理论的政治思想家是()。
1946年3月5日,英国前首相丘吉尔在富尔敦发表了(),发出第一个明白无误的“冷战”信号。
某微机的寻址范围为64KB,其存储器选择器信号为M,接有8片8KB的存储器,试完成下列问题。(1)画出选片译码逻辑图。(2)写出每片RAM的寻址范围。(3)如果运行时发现不论往哪片存储器存放8KB数据,以4000H起始地址的存
随机试题
大动脉管壁的主要结构特点是()
Thereseemedtobeno______totheirfinancialproblems.
在致癌因素中,最大的癌症诱发物是
下列有关公务员职务任免与升降的说法哪一项是正确的?()
下列关于盈亏平衡点的生产负荷率与建设项目风险随能力的关系,说法不正确的是()。
ABC公司上年度资金平均占用额为900万元,其中不合理的部分占10%,预计本年度销售额增长率为3%,资金周转速度提高1%,则预测年度资金需要量为()万元。
简述对待错误信息和反信息的策略。
A、B、C、D、E、F6人参加一场决赛,赛前有3个猜测:甲:冠军不是A,就是B。乙:冠军是C或D。丙:D、E、F绝不可能是冠军。赛后发现他们三个人的猜测只有一个是正确的,那么谁是冠军?()
地理教师在一张空白全国地图上找出5个省份,分别编号1、2、3、4、5,要大家写出这五个省的名称。有五位同学只答出了2个省的名称,而且每人只答对了一半,每个编号只有一个省份是对的。A)2号是广东省,3号是湖北省;B)2号是湖北省,5号是广东省;C)3号是浙江
______是Access数据库的基础,是存储______的地方,是查询、窗体、报表等其他数据库对象的基础。
最新回复
(
0
)