[计算机类试卷]软件水平考试中级软件设计师上午(基础知识)历年真题试卷汇编9及答案与解析.doc
《[计算机类试卷]软件水平考试中级软件设计师上午(基础知识)历年真题试卷汇编9及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试中级软件设计师上午(基础知识)历年真题试卷汇编9及答案与解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试中级软件设计师上午(基础知识)历年真题试卷汇编 9及答案与解析 0 (2013年上半年上午试题 62、 63)给定 n个整数构成的数组 A=a1, a2, , an和整数 x,判断 A中是否存在两个元素 ai和 aj,使得 ai+aj=x。为了求解问题,首先用归并排序算法对数组 A进行从大到小排序;然后判断是否存在 ai+aj=x,具体的方法如下列伪代码所示。则求解该问题时排序算法应用了 _(62)算法设计策略,整个算法的时间复杂度为 _(63)。 i=1; j=n while i j If ai+aj=x return true Else if ai+aj x J-; Else
2、I+; Return false; 1 (62) ( A)分治 ( B)贪心 ( C)动态规划 ( D)回溯 2 (63) ( A) O(n) ( B) O(nlgn) ( C) O(n2) ( D) O(nlg2n) 2 (2012年下半年上午试题 62、 63)将数组 1, 1, 2, 4, 7, 5从小到大排序,若采用 _(62)排序算法,则元素之间需要进行的比较次数最少,共需要进行_(63)次 元素之间的比较。 3 (62) ( A)直接插入 ( B)归并 ( C)堆 ( D)快速 4 (63) ( A) 5 ( B) 6 ( C) 7 ( D) 8 4 (2012年下半年上午试题 6
3、4、 65)哈夫曼编码将频繁出现的字符采用短编码,出现频率较低的字符采用长编码。具体的操作过程为: i)以每个字符的出现频率作为关键字构建最小优先级队列; ii)取出关键字最小的两个节点生成子树,根节点的关键字为孩子节点关键字之和,并将根节点插入最小优先级队列中,直至得到一棵最优编码树。哈夫曼编码方案是基于 _(64)策略的,用该方案对包含 a到 f六个字符的文件进行编码,文件包含 100000 个字符,每个字符的出现频率 (用百分比表示 )如表 9 3所示,则与固定长度编码相比,该编码方案节省了 _(65)存储空间。5 (64) ( A)分治 ( B)贪心 ( C)动态规划 ( D)回溯 6
4、 (65) ( A) 21 ( B) 27 ( C) 18 ( D) 36 7 (2012年上半年上午试题 61)递增序列 A(a1, a2, , an)和 B(b1, b2, , bn)的元素互不相同,若需将它们合并为一个长度为 2n的递增序列,则当最终的排列结果为 _时,归并过程中元素的比较次数最多。 ( A) a1, a2, , an, b1, b2, , bn ( B) b1, b2, , bn, a1, a2, , an ( C) a1, b1, a2, b2, , ai, bi, , an, bn ( D) a1, a2, , ai 2, b1, b2, , bi 2, ai 2+
5、1, ai 2+2, a n, bi 2+1, bi2+2, , bn 8 (2012年上半年上午试题 62)以下关于渐进符号的表示中,不正确的是 _。 ( A) n2=(n2) ( B) n2=O(n2) ( C) n2=O(n) ( D) n2=O(n3) 8 (2012年上半年上午试题 63、 64)某货车运输公司有一个中央仓库和 n个运输目的地,每天要从中央仓库将货物运输到所有运输目的地,到达每个运输目的地一次且仅一次,最后回到中央仓库。在两个地点 i和 j之间运输货物存在费用 Cij,为求解旅行费用总和最小的运输路径,设计如下算法:首先选择离中央仓库最近的运输目的地 1,然后选择离运
6、输目的地 1最近的运输目的地 2, ,每次在未访问过的运输目的地中选择离当前运输目的地最近的运输目的地,最后回到中 央仓库。则该算法采用了 _(63)算法设计策略,其时间复杂度为 _(64)。 9 (63) ( A)分治 ( B)动态规划 ( C)贪心 ( D)回溯 10 (64) ( A) (n2) ( B) (n) ( C) (nlgn) ( D) (1) 11 (2012年上半年上午试题 65)现要对 n个实数 (仅包含正实数和负实数 )组成的数组 A进行重新排列,使得其中所有的负实数都位于正实数之前。求解该问题的算法的伪代码如下,则该算法的时间和空间复杂度为 _。 i=0; j=n-1
7、 while i 1 do while Ai 0 do i=i+1; while Aj 0 do j=j-1; if i 1 do 交换 Ai和 Aj ( A) (n)和 (n) ( B) (1)和 (n) ( C) (n)和 (1) ( D) (1)和 (1) 12 (2013年下半年上午试题 38)在执行如图 10 2所示的 UML活动图时,能同时运行的最大线程数为 _。 ( A) 4 ( B) 3 ( C) 2 ( D) 1 12 (2013年下半年上午试题 39、 40)如图 10 3所示的 UML序列图中, _(39)表示返回消息, Account应该实现的方法有 _(40)。13
8、(39) ( A) xfer ( B) check ( C) evaluation ( D) minus 14 (40) ( A) xfer() ( B) xfer()、 plus()和 minus() ( C) check()、 plus()和 minus() ( D) xfer()、 evaluation()、 plus()和 minus() 14 (2013年 下半年上午试题 41 43)在面向对象技术中, _(41)定义了超类和子类之间的关系,子类中以更具体的方式实现从父类继承来的方法称为_(42),不同类的对象通过 _(43)相互通信。 15 (41) ( A)覆盖 ( B)继承 (
9、 C)消息 ( D)多态 16 (42) ( A)覆盖 ( B)继承 ( C)消息 ( D)多态 17 (43) ( A)覆盖 ( B)继承 ( C)消息 ( D)多态 18 (2013年下半年上午试题 44)_设计模式定义一系列算法 ,把它们一个个封装起来,并且使它们可相互替换。这一模式使得算法可独立于它的客户而变化。 ( A)策略 (Strategy) ( B)抽象工厂 (Abstract Factory) ( C)观察者 (Visitor) ( D)状态 (State) 19 (2013年下半年上午试题 45)在发布一订阅 (Publish-Subscribe)消息模型中,订阅者订阅一个
10、主题后,当该主题有新消息到达时,所有订阅者都会收到通知。_设计模式最适合这一模型。 ( A)适配器 (Adapter) ( B)通知 (Notitier) ( C)状态 (State) ( D)观察者 (Observer) 19 (2013年下半年上午试题 46、 47)图 10 4所示为 _(46)设计模式,适用于: _(47)。20 (46) ( A)组件 (Component) ( B)适配器 (Adapter) ( C)组合 (Composite) ( D)装饰器 (Decorator) 21 (47) ( A)表示对象的部分一整体层次结构 ( B)不希望在抽象和它的实现部分之间有一个
11、固定的绑定关系 ( C)在不影响其他对象 的情况下,以动态、透明的方式给单个对象添加职责 ( D)使所有接口不兼容类可以一起工作 22 (2013年上半年上午试题 37)在多态的几种不同形式中, _多态是一种特定的多态,指同一个名字在不同上下文中可代表不同的含义。 ( A)参数 ( B)包含 ( C)过载 ( D)强制 22 (2013年上半年上午试题 38、 39)继承是父类和子类之间共享数据和方法的机制。以下关于继承的叙述中,不正确的是 _(38)。有关图 10 5中 doIt()方法的叙述中,正确的是 _(39)。 23 (38) ( A)一个父类可以有多个子类,这些子类都是父类的特例
12、( B)父类描述了这些子类的公共属性和操作 ( C)子类可以继承它的父类 (或祖先类 )中的属性和操作而不必自己定义 ( D)子类中可以定义自己的新操作而不能定义和父类同名的操作 24 (39) ( A) doIt()必须由 Thing3实现,同时可能用 Thing4实现 ( B) dolt()必须由 Thing5实现 ( C) doIt()必须由 Thing2、 Thing3、 Thing4和 Thing5实现 ( D) doIt()已经由 Thing1实现,因此无须其他类实现 25 (2013年上半年上午试题 40)以下关于 UML部署图的叙述中,正确的是_。 ( A)因为一条消息总是有某
13、种响应,部署组件之间的依赖是双向的 ( B)部署组件之间的依赖关系类似于包图 ( C)部署图小用于描述代码的物理模块 ( D)部署图不用于描述系统在不同计算机系统的物理分布 25 (2013年上半年上午试题 41、 42)以下关于 UML状态图的叙述中,不正确的是_(41)。对图 10 6的描述正确的是 _(42)。26 (41) ( A)用于描述一个对象在多个用例中的行为 ( B)用于某些具有多个状态的对象而不是系统中大多数或全部对象 ( C)用于描述多个对象之间的交互 ( D)可以用于用户界面或控制对象 27 (42) ( A) ON是一个并发状态 ( B)因为此状态图中没有终止 (fin
14、al)状态,所以此图是无效的 ( C) play、 stop和 rew是动作 ( D) ON是超状态 软件水平考试中级软件设计师上午(基础知识)历年真题试卷汇编 9答案与解析 【知识模块】 算法设计和分析 1 【正确答案】 A 【试题解析】 分 治算法的基本思想是将一个规模为 n的问题分解为 k个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。 【知识模块】 算法设计和分析 2 【正确答案】 B 【知识模块】 算法设计和分析 【知识模块】 算法设计和分析 3 【正确答案】 A 【试题解析】 直接插入排序算法的基本思想是将待排序数组分为两个部分:已排好
15、序部分和未排序部分。其主要步骤为:开始时,第一个元素在已排好序部分中,其余部分在未排序部分。然后依次从未排序部分中取出第一个元素, 从后向前与排好序部分的元素进行比较并将其插入已排好序部分的正确位置,直到所有元素排好序。当序列基本有序时,直接插入排序过程中元素比较的次数较少;当序列为逆序时,元素的比较次数最多。使用直接插入排序算法,数组 1, 1, 2,4, 7, 5需要比较 6次,依次为: 1与 1比较、 2与 1比较、 4与 2比较、 7与 4比较、 5与 7比较、 5与 4比较。 归并排序的基本思想是将待排序数组划分为子问题,对子问题求解,然后合并解。其主要步骤为:将数组分为两个相同规模
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 上午 基础知识 历年 汇编 答案 解析 DOC
