首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
输入一整数数组{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
37
问题
输入一整数数组{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://jikaoti.com/ti/HKfjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
试述周世宗改革的主要内容及其意义。
简述20世纪50年代后南斯拉夫的发展变化。
战后列强围绕中国问题产生的矛盾及其表现。
《关于建国以来党的若干历史问题的决议》
关于德国工业革命,说法不正确的是()。
阅读材料,回答问题:材料一:战后美国对一些新兴工业部门、重大科研项目、现代化公共设施等投入大量资金,如美国时发展原子能工业的投资,从1945年到1970年共计达175亿美元。美国还通过国家力量来扩张国外市场,从50年代中期起,为加强国际市场的竞争力,政府
把中国第一次工人运动的高潮推向顶点的是()。
某32位机(机器字长32位)的一台外设通过32位总线与系统内存相连。CPU每秒执行100条指令,平均每条指令需要5个机器周期,其中3个周期必须访问内存,内存读写需一个机器周期,假定CPU在95%的时间内持续执行“背景程序”,且这段时间内不执行I/O指令。现
Demandpaging算法是paging算法在虚拟存储空间管理的扩展。其主要的改进是:仅当需要访问某页面时,如果它不在内存,把它调入内存。按照这个思路,将segmentation算法(段式存储管理算法)扩展到虚拟存储空间管理,也可以产生类似的算法,不妨
已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。要求:
随机试题
内源性凝血系统激活始发因子是
单台电容器至母线或熔断器的连接线应采用软导线,其长期允许电流不应小于单台电容器额定电流的()倍。
保险合同是经济合同的一种,在经济合同项下合同双方的权利和义务是对等的,一方的权力就是另一方的义务,合同一方履行义务是其享有权力的前提条件。投保人和被保险人的基本义务有()。
吊篮脚手架属于()。
工作流程组织可反映一个组织系统中各项工作之间的逻辑关系,是一种动态关系。在一个建设工程项目实施过程中,下列属于其工作流程组织范畴的有( )。
下列有关合并财务报表的表述中,不正确的有()。
小米手机经常在其销售网站上告知手机缺货,并预告可能到货时间,以激起消费者的购买欲,从而形成以一种供不应求的状态,这种促成交易的方法是()。
下列商品中,征收消费税的有()。
设A,B为n阶可逆矩阵,则().
A、 B、 C、 D、 C图画显示了人们在地铁站准备搭车的场景,因此正确答案是(C)。(A)中如果忽略gettingdirections就很容易让人混淆;因为人们不是坐着而是站着(standing)等待搭乘
最新回复
(
0
)