ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:52.30KB ,
资源ID:2996702      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2996702.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件设计师模拟题及答案解析第二十四套.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件设计师模拟题及答案解析第二十四套.docx

1、软件设计师模拟题及答案解析第二十四套软件设计师模拟题及答案解析第二十四套81. 利用逐点插入建立序列(52,43,73,88,76,18,38,61,45,39)对应的二叉排序树之后,查找元素61要进行 (86) 次元素间的比较。(86) A.3B.4C.6D.8参考答案:(86)A。解析:利用逐点插入建立二叉排序树是从空树开始,通过查找将每个节点作为一个叶子插入。建立序列(50,72,43,85,75,20,35,45,65,30)的二叉排序树如图8所示。根据图8所示的二叉排序树可知,查找元素61要进行3次元素间的比较。82. 为了在状态空间树中 (87) ,可以利用LC-检索(Least

2、Cost Search)快速找到一个答案节点。(87) A.进行遍历B.找出最优的答案节点C.找出任一个答案节点D.找出所有的答案节点参考答案:(87)B。解析:在状态空间树中,定义 为节点的成本函数,g(X)为从节点向X到达一个答案节点所需做的附加工作的估计函数,h(X)为从根节点到节点X的成本,则用成本估计函数 选择下一个E-节点的检索策略总是选取 值最小的活节点作为下一个E-节点,因此这种检索策略称为最小成本检索,简称LC-检索(Least Cost Search)。在状态空间树中找出最优的答案节点,就可以利用LC-检索快速找到一个答案节点。根据定义在进行LC-检索时,为避免算法过分偏向

3、于做纵深检查,应该在成本估计函数 中考虑根节点到当前节点的成本(距离)。83. 图9中不存在 (88) 。图9(88) A.欧拉路径B.欧拉回路C.欧密尔顿路径D.哈密尔顿回路参考答案:(88)B。解析:通过连通图G中每条边一次且仅一次,遍历图中所有节点的回路称为欧拉回路。通过连通图G中每条边一次且仅一次,遍历图中所有节点的开路称为欧拉开路(欧拉路径)。若G是连通图,则存在欧拉回路的充要条件是所有节点的度数均为偶数度;存在欧拉开路的充要条件是当且仅当G中有且只有两个节点的度数为奇数度。由于图3-6中有两个节点的度数是奇数度,因此图3-6中只存在欧拉路径,但不符合欧拉回路的充要条件,即不存在欧拉

4、回路。通过连通图G中每个节点一次且仅一次的回路称为欧密尔顿回路。通过连通图G中每个节点一次且仅一次的开路称为欧密尔顿开路(哈密尔顿路径)。84. 在最好和最坏情况下的时间复杂度均为O(nlogn),但不稳定的排序算法是 (89) 。(89) A.堆排序B.快速排序C.归并排序D.基数排序参考答案:(89)A。解析:堆排序在最好和最坏情况下的时间复杂度均为O(nlogn)但不稳定。快速排序最好和最坏情况下的时间复杂度分别为O(n2)和O(nlogn)且不稳定。归并排序是在最好和最坏情况下的时间复杂度均为O(nlogn)且稳定的排序方法。基数排序在最好和最坏情况下的时间复杂度均为O(d(n+rd)

5、。85. 利用动态规划方法求解每对节点之间的最短路径问题(all pairs shortest path problem)时,设有向图G=共有n个节点,节点编号1n,设C是G的成本邻接矩阵,用Dk(I,j)即为图G 中节点i到j并且不经过编号比k还大的节点的最短路径的长度(Dn(i,j)即为图G中节点i到j的最短路径长度),则求解该问题的递推关系式为 (90) 。(90) A.Dk(I,j)=Dk-1(I,j)+C(I,j)B.Dk(I,j)=Dk-1(I,k)+Dk-1(k,j)C.Dk(I,j)=minDk-1(I,j),Dk-1(I,j)+C(I,j)D.Dk(I,j)=minDk-1(

6、I,j),Dk-1(I,k)+Dk-1(k,j)参考答案:(90)D。解析:设Pk(I,j)表示从i到j并且不经过编号比k还大的节点的最短路径,那么Pk(I,j)有以下两种可能。 Pk(I,j)经过编号为k的节点,此时Pk(I,j)可以分为从i到k和从k至j的两段,易知Pk(I,j)的长度为Dk-1(I,k)+Dk-1(k,j)。 Pk(I,j)不经过编号为k的节点,此时Pk(I,j)的长度为Dk-1(I,j)。因此,求解该问题的递推关系式为:Dk(I,j)=minDk-1(I,j),Dk-1(I,k)+Dk-1(k,j)。86. 通常, (91) 应用于保护被中断程序现场等场合。(91) A

7、.队列B.堆栈C.双链表D.数组参考答案:(91)B。解析:在计算机中,堆栈被定义为一段特殊的内存区。其存取数据的特点是先进后出(FILO)。这一特点使它最常用于保护被中断程序的现场等应用场合。87.若有说明语句“inta10,*p=a;”,对数组元素的正确引用是(92)(92) A. apB. PaC. *(P+2)D. P+2参考答案:(91)C。解析:在C语言中,约定数组名单独出现在表达式中时,它表示数组首元素的指针。有inta10,则a可以作为&a0使用。另有整型指针变量p,代码p=a实现p指向数组a的首元素。则表达式*(p+2)是引用数组元素a2。表达式ap和pa都是不正确的,下标必

8、须是整型表达式,不可以是指针表达式。表达式p+2是指针表达式,它的值是&p2。所以只有表达式*(p+2)引用数组a的元素a2。所以解答是C。88.下面各语句中,能正确进行赋字符串操作的语句是(93)(93) A. chars5=ABCDE;B. chars5=A,B,C,D,E;C. char*s;s=ABCDE;D. char*s;scanf(%,s);参考答案:(93)C。解析:字符串最终存储于字符数组中,存储字符串的字符数组可以是程序主动引入的(定义或动态分配),也可以是字符串常量,由系统分配。其中字符数组用字符串初始化就是字符串存储于由程序引入的字符数组的例子。给字符指针赋字符串则是系

9、统自动分配字符率存储空间的例子。给字符指针赋字符串并不是将一个长长的字符串存于字符指针变量中,而是将字符串常量存储于常量区,并将存储这个字符串的首字节地址赋给指针变量,让指针变量指向字符率常量的首字符。对于以字符串作为字符数组初值的情况,要求字符数组足够的大,能存得下字符串常量。这里有一个特别的规定,若数组的大小少于存储字符串有效字符的字节个数,系统将报告错误;当字符数组的大小只能存储字符串的有效字符,而不能存储字符率结束标记符时,则存储于字符数组中的内容是字符序列,因没有存储字符率结束标记符,存储的内容就不是字符串。如代码chara5=ABCDE。另外,给字符数组元素逐一赋字符初值,并在字符

10、初值中没有字符串结束标记符,则存于字符数组中的内容也不是字符率。如代码chars5=A,B,C,D,E。特别要注意当字符指针还未指向某个字符数组的元素时,不可以通过字符指针输入字符串。如代码char*s;scanf(%s,s)。若写成char*str;scanf(%s,&str)更是错误的了。由于C语言规定数组不能相互赋值,所以只能将字符串常量赋给某字符指针。如代码char*s;s=ABCDE是正确的。实际上,字符率ABCDE被存储于常量区中,向指针变量赋的是字符指针,让s指向其中的字符A。所以解答是C。89.若有以下定义,则不能表示a数组元素的表达式是(94)inta10=1,2,3,4,5

11、,6,7,8,9,1o,*p=a;(94)A.*pB. a10C. *aD. ap-a参考答案:(94)B。解析:上述代码定义了有10个元素的整型数组。,和定义指针变量p,并让p指向数组元素a0。所以代码*p是引用a0。由于数组a只有10个元素,最后一个元素是a9,表达式a10是错误的。数组名a可以作为a的首元素的指针,表达式*a就是a0,是对数组a的首元素a0的引用。指针p的值是a,表达式p-a。的值是0,所以ap-a就是a0。所以解答是B。90.若有以下定义,则值为3的表达式是(95)inta=1,2,3,4,5,6,7,8,9,10,*p=a;(95)A. p+=2,*(p+)B. p+

12、=2,*+pC. p+=3,*p+D. p+=2,+*p参考答案:(95)A。解析:数组a有10个元素,分别有值1至10,指针变量p指向a0,A逗号表达式p+=2,*(P+),先是P+=2使P指向a2,接着是*(P+),以当时P所指变量a2取内容3为表达式的值,同时使p指向a3。B返号表达式p+=2,*+p,先是p+=2使p指向a2,以后是*+p,又使p增1,让它指向a3,并取指针p所指变量a3的内容4作为表达式的值。C逗号表达式p+=3,*p+,先是p+=3使p指向a3,以后是*p+,表达式的值是a3为4,而使p指向a4。D逗号表达式p+=2,+*p,先是p+=2,使p指向a2,以后是+*p

13、,因当时的*p就是a2,+a2使a2增1,变成4,并以4为表达式的值。所以只有p+=2,*(p+)的值是3。所以解答是A。91. 若二叉树的先序遍历序列为ABCEDF,后序遍历序列为CEBFDA,则其中序遍历序列为 (96) 。(96) A.CEFBDA B.CBEAFD C.CEBAFD D.CBEDFA参考答案:(96)B。解析:对于二叉树遍历序列有一个性质,包含有中序遍历序列的任意两个遍历序列可以唯一确定该二叉树。那么由题中的先序遍历序列和后序遍历序列就可以唯一确定此二叉树,如图10所示,再对其进行中序遍历,中序遍历序列为CBEAFD。图1092. 在C+中,使用静态成员解决同一个类的不

14、同对象之间的数据共享问题。以下关于一个类的静态成员的叙述中,说法错误的是 (97) 。(97) A.静态成员变量可被该类的所有方法访问B.该类的对象共享其静态成员变量的值C.该类的静态数据成员变量的值不可修改D.该类的静态方法只能访问该类的静态成员变量参考答案:(97)D。解析:静态成员作为类的一种成员,它被类的所有对象共享,而不是属于某个对象的。静态成员可分为静态成员变量和静态方法。静态成员变量的值可以被更新。只要对静态成员变量的值更新一次,所有对象的该静态成员变量值都会被更新。静态成员函数可以直接访问静态成员,但不能直接访问非静态成员。选项D“该类的静态方法只能访问该类的静态成员变量”的说法不够准确。93. 在面向对象软件开发过程中,采用设计模式 (98) 。(98) A.以减少设计过程创建的类的个数B.以保证程序的运行速度达到最优值C.以复用成功的设计和体系结构D.以允许在非面向对象程序设计语言中使用面向对象的概念参考答案:(98)C。解析:设计模式是对被用来在特定场景下,解决一般设计问题的类和相互通信的对象的描述。通常,一个设计模式有4个基本要素:模式名称、问题(模式的使用场合)、解决方案和效果。每一个设计模式系统

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1