|
|
51CTO旗下网站
|
|
移动端

2017 年上半年软件设计师上午试题分析与解答(6)

《软件设计师历年真题解析》本书针对软件设计师2014—2017年共8次真题进行了试题的分析和解答,帮助考生熟悉试题形式,了解重点、掌握解答问题的方法和技巧等。本节为2017 年上半年软件设计师上午试题分析与解答。

作者:薛大龙来源:电子工业出版社|2018-08-21 12:41

2017 年上半年软件设计师上午试题分析与解答(6)

● 对于n 个元素的关键宇序列{k1, k2, ...kn},当且仅当满足关系ki≤k2i 且ki≤k2i+1{i=1.2...[n/2]} 时称其为小根堆(小顶堆)。以下序列中, (60) 不是小根堆。

(60) A.16,25,40,55,30,50,45 B.16,40,25,50,45,30,55

C.16,25,39.,41,45,43,50 D.16,40,25,53,39,55,45

试题分析

按照条件“ki≤k2i 且ki≤k2i+1”要求,带入四个选项。以选项A 为例,当i=1 时,k1(16)<k2(25),且k1(16)<k3(40)…依此类推,可得选项D 不满足要求。

参考答案:(60)D

● 在12 个互异元素构成的有序数组 a[1..12] 中进行二分查找(即折半查找,向下取整),若待查找的元素正好等于a[9],则在此过程中,依次与数组中的 (61) 比较后,查找成功结束。

(61) A.a[6]、a[7]、a[8]、a[9] B.a[6]、a[9]

C.a[6]、a[7]、a[9] D.a[6]、a[8]、a[9]

试题分析

二分查找法的原则是:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功;或直到子表不存在为止,此时查找不成功。

参考答案:(61)B

● 某汽车加工工厂有两条装配线L1 和L2,每条装配线的工位数均为n(Sij,i=1 或2,j=1,2,…,n),两条装配线对应的工位完成同样的加工工作,但是所需要的时间可能不同(aij,i=1 或2,j = 1,2,…,n)。汽车底盘开始到进入两条装配线的时间 (e1,e2) 以及装配后到结束的时间(X1X2)也可能不相同。从一个工位加工后流到下一个工位需要迁移时间(tij,i=1 或2,j =2,…,n)。现在要以最快的时间完成一辆汽车的装配,求最优的装配路线。

分析该问题,发现问题具有最优子结构。以L1 为例,除了第一个工位之外,经过第j个工位的最短时间包含了经过L1 的第j-1 个工位的最短时间或者经过L2 的第j-1 个工位的最短时间,如式(1)。装配后到结束的最短时间包含离开L1 的最短时间或者离开L2 的最短时间如式(2)。

由于在求解经过L1 和L2 的第j 个工位的最短时间均包含了经过L1 的第j-1 个工位的最短时间或者经过L2 的第j-1 个工位的最短时间,该问题具有重复子问题的性质,故采用迭代方法求解。

该问题采用的算法设计策略是 (62) ,算法的时间复杂度为 (63) 。

以下是一个装配调度实例,其最短的装配时间为 (64) ,装配路线为 (65) 。

(62) A.分治 B.动态规划 C.贪心 D.回溯

(63) A.O(lgn) B.O(n) C.O(n2) D.O(nlgn)

(64) A.21 B.23 C.20 D.26

(65) A.S11→S12→S13 B.S11→S22→S13

C.S21→S12→S23 D.S21→S22→S23

试题分析

动态规划算法与分治法不同的是,适合于用动态规划求解的问题,经分解得到的子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次。如果能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,这样就可以避免大量的重复计算,节省时间。可以用一个表来记录所有已解的子问题的答案。不管该子问题以后是否被用到,只要它被计算过,就将其结果填入表中。这就是动态规划法的基本思路。本题中的时间复杂度为O(n)。

贪心选择是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。

回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。

求最短的装配时间与装配路线只需要将选项按照公式带入计算(将图上每条路径上的所有数字相加)可得最短路线为S11→S22→S13 ,时间为21。

参考答案:(62)B (63)B (64)A (65)B

● 在浏览器地址栏输入一个正确的网址后,本地主机将首先在 (66) 查询该网址对应的IP 地址。

(66) A.本地DNS 缓存 B.本机hosts 文件

C.本地DNS 服务器 D.根域名服务器

试题分析

本地主机将首先在本机hosts 文件中查询该网址对应的IP 地址。

参考答案:(66)B

● 下面关于Linux 目录的描述中,正确的是 (67) 。

(67) A.Linux 只有一个根目录,用" /root "表示

B.Linux 中有多个根目录,用"/"加相应目录名称表示

C.Linux 中只有一个根目录,用"/"表示

D.Linux 中有多个根目录,用相应目录名称表示

试题分析

Linux 中只有一个根目录,用"/"表示。

参考答案:(67)C

● 以下关于TCP/IP 协议栈中协议和层次的对应关系正确的是 (68) 。

试题分析

TCP 与UDP 是基于IP 协议的;SMTP 是基于TCP 协议的。

参考答案:(68)C


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书会第9群:808517103

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

超级网管员——网络应用

本书全面、深入地介绍了网络应用技术,主要内容包括:RMS权限管理服务、Exchange邮件服务、LCS即时消息服务、WSUS系统更新服务、Symantec网...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊