摘要:对于【软件设计师】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2019年5月 软件设计师 上午题】部分试题的详解,一起来看看吧~



1、已知矩阵 Am*n和 Bn*p 相乘的时间复杂度为 O(mnp)矩阵相乘满足结合律,如三个矩阵A、B、C 相乘的顺序可以是(A*B)*C),也可以是A*(B*C).不同的相乘序所需进行的乘法次数可能有很大的差别,因此确定n 个矩阵相乘的最优计算顺序是一个非常重要的问题。已知确定n 个短阵 A,A2........An 相乘的计算顺序具有最优子结构,即 A1A2..........An 的最优计算顺序包含其子问题A1A2.......Ak和 Ak+1Ak+2.......An(<=kcn)的最优计算顺序。可以列出其递归式为其中,A 的维度为 pi-1*pim【i,j】,表示 AiAi+1…A j最优计算顺字的相乘次数,先釆用自底向上的方法求n 个矩阵相乘的最优计算顺序。则该问题的算法设计策略为( ),算法的时间复杂度为( ),空间复杂度为( )给定一个实例,(POPi........P5)=(20.15.4.10.20.25)最优计算顺序为(请作答此空)
A、 (((A1*A2)*A3)*A4)*A5
B、 A1*(A2*(A3*(A4*A5)))
C、 ((A1*A2)*A3)*(A4*A5)
D、 (A1*A2)*((A3*A4)*A5)

答案:D
答题解析:

矩阵链乘法:

一个给定的矩阵序列A1A2...An计算连乘乘积,有不同的结合方法,并且在结合时,矩阵的相对位置不能改变,只能相邻结合。根据矩阵乘法的公式,10*100和100*5的矩阵相乘需要做10*100*5次标量乘法。那么对于维数分别为10*100、100*5、5*50的矩阵A、B、C,用(A*B)*C来计算需要10*100*5 + 10*5*50 =7500次标量乘法;而A*(B*C)则需要100*5*50+10*100*50=75000次标量乘法。

根据题干有A1-A5五个矩阵,分别为:20*15、15*4、4*10、10*20、20*25,分别带入65题各个选项,得到选项D是计算次数最少的选项。

具体计算结果为:

选项A:A1*A2=20*15*4=1200,(A1*A2)*A3)=20*4*10=800,(((A1*A2)*A3)*A4)=20*10*20=4000,(((A1*A2)*A3)*A4)*A5=20*20*25=10000,总的计算次数为1200+800+4000+10000=16000次。

选项B:A4*A5=10*20*25=5000,A3*(A4*A5)=4*10*25=1000,A2*(A3*(A4*A5))=15*4*25=1500,A1*(A2*(A3*(A4*A5)))=20*15*25=7500,总的计算次数为:5000+1000+1500+7500=15000次。

选项C:A1*A2=20*15*4=1200,(A1*A2)*A3)=20*4*10=800,A4*A5=10*20*25=5000,

((A1*A2)*A3)*(A4*A5)=20*10*25=5000,总的计算次数为1200+800+5000+5000=12000次。

选项D:A1*A2=20*15*4=1200,A3*A4=4*10*20=800,(A3*A4)*A5=4*20*25=2000,

(A1*A2)*((A3*A4)*A5)=20*4*25=2000,总的计算次数为1200+800+2000+2000=6000次。

该算法的,pi−1,pk,pj的值需要三重循环解决,因此时间复杂度为O(n^3),空间复杂度为O(n^2)。




2、浏览器开启了无痕浏览模式后,( )依然会被保存下来。
A、 浏览历史。
B、 搜索历史。
C、 下载文件
D、 临时文件

答案:C
答题解析:

因为其他选项都是临时对象,只有下载的文件是保存到硬盘上的所以选择C



3、下面是HTTP的一次请求过程,正确的顺序是( )。⑴浏览器向DNS服务器发出域名解析请求并获得结果⑵在浏览器中输入URL,并按下回车键⑶服务器将网页数据发送给浏览器⑷根据目的IP地址和端口号,与服务器建立TCP连接⑸浏览器向服务器发送数据请求⑹浏览器解析收到的数据并显示⑺通信完成,断开TCP连接
A、 ⑵⑴⑷⑸⑶⑺⑹
B、 ⑵⑴⑸⑷⑶⑺⑹
C、 ⑵⑴⑷⑸⑶⑹⑺
D、 ⑵⑴⑷⑶⑸⑺⑹

答案:A
答题解析:

本题考查的是HTTP的连接过程



查看完整试题>>>