00:00
同学们,我们继续来看它的填空题,填空题呢我们来一起走一走哈,有些题呢比较简单,有些题呢它比较挠头的,我们就多说两句,就根据题的这个难度不同呢,我们来聊一聊第一个题有序线性表能够进行二分查找的前提是该线性表必须是什么样子的,哎,同学们,我们在讲前面讲基呃C语言课程的时候,是不是讲过二分查找,二分查找是要求它是一个有序存储的。有序。有序存储。也就是说,你必须保证这个线性表是从小到大,或者是从大到小。明白这个意思吧,再来看第二个题,他说一棵二叉树中序便历结果是B啊,D AFC,前序便历结果是AB de CF。则后续便利结果是什么?这里面涉及到一个问题。
01:03
这里面涉及到一个什么叫中续便利,什么叫做前序便利。这个概念,那这个概念呢,我这有一张图,我就直接跟他们放过来了,这这个图呢,是我讲Java,呃,这一个。我在讲Java数,呃,数据结构的时候呢,讲过这个东西,如果有兴趣的同学呢,可以到我们上硅谷去看一下,这套题在这讲的哈,我记得是在F盘。在这个F盘里面呢,我讲了一套这个Java数据结构跟算法,在这里边呢,我们讲的是非常清晰的,就是呃,二叉树是怎么回怎么回事,那因为我们C语言二级呢,要求没有这么高,所以说呢,这里老师就直接给你们说一下他大概是个什么概念就可以了,因为我们讲Java,就是同学们看到刚才看到老师给你们看的这套课程呢,他的难度是比较大的,而且是针对专业的编程人员讲的。
02:04
而在座的各位同学在听我们这个课程呢,大部分同学不会去学这种算法。你们只是想考一个二级吗?或者说对C语言有个基本了解,因此呢,没有必要看这么深入的,但是我们还是要了解一下这个前续,呃,中续和后续是什么概念来看一下。这里呢,我我给大家梳理了一下前续、中续和后续的一个概念,什么叫前续呢?就是先输出负节点,再遍历左指数和右指数。这个叫前序变利,什么叫中续呢?先遍历左指数,再输出负节点,再变利右指数。呃,什么叫后续呢?先遍历左指数,再变利右指数,最后输数附节点,最后我总结了一下。前前中后主要是看负节点的顺序,如果负节点是最先输出,那么就是前序,如果负节点是在第二个,第二第二个位置输出,或者在在在中间输出,就是中续便利,如果负节点是最后输出,那就是后续便利。那通过这样一个呢,我们就需要把这一个根据它的中续遍历和前续遍历把这个二叉树给复原,才能知道后续便历长什么样子。我们先来画一下这一棵二叉树吧。
03:26
嗯,跟上老师思路啊,首先我们看。那如果是按照按照这个前序便利的话呢,A应该是他的根界点说这个。节点就出来了。再来看。B它又是前序编利,那肯定先又先把这个负极点输出,应该B就在这。好,你看这个B,然后呢,这个时候大家看这时你们有没有发现它中续便利D是第一个输出的,所以说D呢,就应该是我们左指数的最左边这个节点,所以说D在这。
04:03
那D在这的话呢,E就在这里了啊,这很很自然的,E如果在这看你看呃,前序便利把左子数全部输出完了过后呢,诶前序便利先把A输出了是吧,再把这边输出了,就应该输出什么呢?右指数,右指数里面只有个C。还有一个F,这个F在左边和右边已经无所谓了。所以说如果复原的话呢,这一棵二叉树应该长这个样子的。如果长这样子,我们来验证一下它的中序便利是不是这样子的,中序便利应该怎么走的呢?中序变历是不是先把这个左边的左指数全部遍历完,再输出跟据呃,它的这个附界点,再输出它的右指数,你看是不是,如果是按照中学便利第第一个输出。输出了过后呢,是不是就应该输出它的这个B了呀,对吧,B输出了过输出它的右子数E输出来了。
05:02
一输出来过应该输出A,你看也是正确的,这边输出完了过后,不不会先输出C,因为它下面有节点,所以说会把它的着字数先输出来,再输出自己的这个负节点,好,这样子就正确了,和这个。匹配上了,那既然中续便利和前续便利我们都推出来了,后续便利是怎么回事?刚才是不是讲了所谓后续便利是最后输出我们的一个。呃,负节点,因此呢,先把左边的左指数便利完毕,再便利右边的指数,再输输出这个节点,那这个效果我们就出来了,大家跟上我的思路,我开始写了啊。那就应该是什么呢?应该是D先输出。这个先输出。然后呢,呃,再把这个E输出来。E输出来过后呢,再输出B,到此为止,这一颗指着指数输出完毕,在这个时候先不要输出A,把这边输出,这边输出呢,肯定先输出F。
06:04
对,F输出完了再输这边的右子数没有,那只能输出这个C了,C输出完了过后再输出这个A。因此如果是后续便利,它就应该是第。Ebf CA,好,我把这个图呢给同学们保留一下。啊,就是我们我们不是讲过吗?有时候填空我们不但要告诉大家答案,还要告诉大家为什么好,我把这个放到这里来了。这个呢是一个原理,系统重启就是deb f CA。那我写上去了D。E。BFCA,好的好,第二题我们就讲完了,有时候这个题稍微有一点难,然后第三题对软件设计的最小单位或者叫模块进行测试,我们叫什么呀?这个呢是个常识性问题,叫单元测试。
07:00
OK,单元测试啊测试,呃,这是测试。测试学科里面的单元测试记住就可以了,有个概念单元测试,那下面呢,实体完整约束要求关系,数据库中的元组干什么呢?它的这一个,其实这块呢,也是个常识性问题,就是它的组件属性。他的主见。组件属性值不能为空啊,有这么一个要求,也就是说,即必须有组件。下面呢,我们看第五个题,在关系中,A大家看它这有两个关系,A是一个关系,里面有SSN和SD有三个元素关系,B里面呢有DCNNM这几个概念,你不用管它啊,就是这个SSND到底表示什么意思,这个无所谓,主要你要看清楚,它后面的话,他说A的主关键字为S,也就是说A里面呢有个主,呃,主键就是的主关键字是D,也就是他这个是他主页,而大家有没有发现A里面有一个D。
08:07
而B里面的组件又是D,那这个D是什么呢?这个就这个相当于说A关系A里面这个D就是一个外键。就是外键哈,也也就是说这个表一个外键的指向,就好像这有一个,这有一张表,这有一张表,这个表里面有个组件ID。而这边表里面有个PKID。啊,这边有个值呢,它指向这个组件,好就是这这种关系,所以说我们这方应该叫什么呢?它的术语叫这样写就是。这样写好就是D。是关系A的外码外键。外界码。啊,或者叫外码都可以。或者叫外键都可以,第六题我们来看一下,第六题呢,这个难度还是有点意思的哈,这个题难度不大,但是挺有意思的,第一次做你很容易答错这个题。
09:02
这个题呢,说以下程序运行后输出的结果是啥啊,那我们看一下呗,这个inna呢,它没有赋值,然后下面看这里,我们主要是看这里推导一下啊,给同学们推导一下。来我们分析一下,来看这里,嗯,同学们先看一下这句话,其实核心点在哪里呢?核心就是在这这个地方。它应该等于什么呢?好,首先。嗯,首先同学们看这个DOUBLE3除以二。三除以二是不是都是整数啊,所以它这个地方是1.5,过后呢,就会自己保存一个一,因此这个值运行出来过后就已经变成了1.0了,这点你必须分析出来,再加上一个0.5,再加上后面这个值,后面这个值有一个特别关键的地方,我们知道强制转换符只针对就近原则。
10:00
而不是把这个结果算出来,过后再进行转换。如果你你认为是进行完了再转换,那就麻烦了,那就这个答案就错了,所以说这个int强制转换呢,只作用在1.99上,那这样子其实就是一乘以二。所以这个结果呢,就应该是1.5加上二,那等于几呢?3.5。好的,那这个。也就是说你这边处理完了过后,整个这个结果呢是3.5,然后大家看到没有,你要干啥呀,Int。然后再对我们,诶,同学们看,把它包起来,相当于对这个3.5取一个整数,那显然这个结果就应该等于三了。没问题吧,也就说最后结果等于三,很多同学会分析出来是四。很多同学认为是这样的啊,有些同学说,诶,这个应该是,这个是1.9乘以二应该等于3.9几,那么取一个整数就变成三,那这边这个就是三了,那结果它推出来是四,答案就错了,这个答案是三而不是四。
11:11
而不是四好。第七题我们来看一下。啊,第七题呢,嗯,它是这么一个题,同学们看它有一个int X,它接收一个X,然后呢,它判断,嗯,他说输入一个12再回车,结果是什么?我们来看一下,如果是12 12这个条件不满足不进去。12大于十成立进去了。所以说这边会输出一个幺二十二嘛,然后再去判断X大不大于五,大于五肯定大于五啊,12大于五,所再次输出X加52加五不是17吗?应该是1217,这个答案就应该是1217。理解了吗?啊,这个答案是1217,否则你这个就不对啊,这个是1217,我们再看第八个题,同学们第八个题,嗯,第八个题呢,其实也不难也不难,我们来看一下,他说有以下程序,首先它告诉告诉我们字符零的阿斯克玛等于48。
12:13
也就是说,他其实应该这样写更好一点。这样写。哦。呃,但是他这样写也没有,他前面已经说了是字符了吗?字符零的阿斯克玛是48,他问下面这个输出什么,我们来看一下,来做一个分析。这里面我们做一个简单分析哈,分析一下,嗯,同学们看。这里他接收一个C1,你输入输入的是多少呢?他说。呃,他说书的,嗯,这个这个分析,我这个图没有。好,应该放到最下面来。放在下面了啊。好这样子分析,那你看这个地方,它输出一个输一个C是48 48就是A嘛,所以说通过这个地方C1其实就等于48。
13:06
这个地方一定要非常清晰的知道C148,然后呢C2。等于C1加九,各位同学,是不是我们C2就应该等于49,呃,等于多少呢?等于57。没问题吧,然后这个时候它按照字符输出的,注意这个地方是按照字符输出的,不是按整输输出的啊按照什么呢?按照字符输出。按照字符输出。因此,那你就看48对应的字符是什么,57对应的字符是什么?显然这个50 48对应的字符就是九,零,而57对应的字符呢,就是九,因此这个结果就应该是零,九。零,一个零,一个九,但是这个零和九可不是我们数字的零和九,而是字符零和九,明白了吧?好,同学们,那么这个呃选就是填空题呢,这一部分先给大家评价到这里,我们休息一下。
我来说两句