中级软件设计师-软件设计师模拟题5_第1页
中级软件设计师-软件设计师模拟题5_第2页
中级软件设计师-软件设计师模拟题5_第3页
中级软件设计师-软件设计师模拟题5_第4页
中级软件设计师-软件设计师模拟题5_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中级软件设计师-软件设计师模拟题5单选题(共74题,共74分)(1.)旋模型将瀑布模型和(请作答此空)结合起来,强调项目的风险分析,特别适合大型复杂系统的开发过程。螺旋(江南博哥)模型沿着螺线进行若干次迭代,依次经历了计划指定、风险分析、工程实施和()四个主要活动。A.喷泉模型B.增量模型C.V模型D.快速原型模型正确答案:D参考解析:本题主要考查对软件开发模型中的螺旋模型的概念。1988年,BarryBoehm正式发表了软件系统开发的"螺旋模型",它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:①制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件②风险分析:分析评估所选方案,考虑如何识别和消除风险③实施工程:实施软件开发和验证④客户评估:评价开发工作,提出修正建议,制定下一步计划螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。但是,螺旋模型也有一定的限制条件,具体如下:①螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发②如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目③软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险首先是确定一个阶段的目标,完成这些目标的选择方案及其约束条件,然后从风险角度分析方案的开发策略,努力排除各种潜在的风险,有时需要通过建造原型来完成。如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。最后,评价该阶段的结果,并设计下一个阶段(2.)某公司销售数据库的商品、仓库关系模式及函数依赖集F1、F2如下:商品(商品号,商品名称,生产商,单价),F1={商品号→商品名称,商品号→生产商,商品号→单价)},商品关系的主键是()。仓库(仓库号,地址,电话,商品号,库存量),F2={仓库号→(地址,电话),(仓库号,商品号)→库存量}。仓库关系的主键是(),外键是(请作答此空)。仓库关系模式(),为了解决这一问题,需要将仓库关系分解为()。A.仓库号B.地址C.电话D.商品号正确答案:D参考解析:本题考查应试者对关系模式中主键、外键和模式分解及相关知识的掌握程度。从商品关系的函数依赖集F1可以导出商品号决定商品关系的全属性,所以商品号是商品关系的主键。从仓库关系的函数依赖集F2可以导出(仓库号,商品号)决定仓库关系的全属性,所以仓库关系的主键是(仓库号,商品号)。又由于商品号是商品关系的主键,故商品号是仓库关系的外键。仓库关系存在冗余、插入异常和删除异常,以及修改操作的不一致。例如,仓库号为"12"的商品有3种,其地址就要重复3次,如下表所示,故仓库关系存在冗余(3.)某公司销售数据库的商品、仓库关系模式及函数依赖集F1、F2如下:商品(商品号,商品名称,生产商,单价),F1={商品号→商品名称,商品号→生产商,商品号→单价)},商品关系的主键是()。仓库(仓库号,地址,电话,商品号,库存量),F2={仓库号→(地址,电话),(仓库号,商品号)→库存量}。仓库关系的主键是(),外键是()。仓库关系模式(请作答此空),为了解决这一问题,需要将仓库关系分解为()。A.存在冗余、插入异常和删除异常,以及修改操作的不一致B.不存在冗余,但存在插入异常和删除异常C.不存在修改操作的不一致,但存在冗余和插入异常D.不存在冗余、插入异常,但存在删除异常和修改操作的不一致正确答案:A参考解析:本题考查应试者对关系模式中主键、外键和模式分解及相关知识的掌握程度。从商品关系的函数依赖集F1可以导出商品号决定商品关系的全属性,所以商品号是商品关系的主键。从仓库关系的函数依赖集F2可以导出(仓库号,商品号)决定仓库关系的全属性,所以仓库关系的主键是(仓库号,商品号)。又由于商品号是商品关系的主键,故商品号是仓库关系的外键。仓库关系存在冗余、插入异常和删除异常,以及修改操作的不一致。例如,仓库号为"12"的商品有3种,其地址就要重复3次,如下表所示,故仓库关系存在冗余(4.)公司总部与分部之间需要传输大量数据,在保障数据安全的同时又要兼顾密钥算法效率,最合适的加密算法是()。A.RC-5B.RSAC.ECCD.MD5正确答案:A参考解析:公司总部与分部之间通过Internet传输数据,需要采用加密方式保障数据安全。加密算法中,对称加密比非对称加密效率要高。RSA和ECC属于非对称加密算法,MD5为摘要算法,故选择RC-5。(5.)在采用三级模式结构的数据库系统中,如果对数据库中的表Emp创建聚簇索引,那么改变的是数据库的()。A.模式B.内模式C.外模式D.用户模式正确答案:B参考解析:(6.)数据库的产品很多,尽管它们支持的数据模型不同,使用不同的数据库语言,而且数据的在储结构也各不相同,但体系统构基本上都具有相同的特征,采用“三级模式和两级映像”,如下图所示,图中①,②,③分别代表数据库系统中(请作答此空),图中④,⑤,⑥分别代表数据库系统中()。A.物理层、逻辑层、视图层B.逻辑层、物理层、视图层C.视图层、物理层、逻辑层D.视图层、逻辑层、物理层正确答案:D参考解析:数据库通常采用三级模式结构,其中,视图对应外模式、基本表对应模式、存储文件对应内模式。数据的独立性是由DBMS的二级映像功能来保证的。数据的独立性包括数据的物理独立性和数据的逻辑独立性。数据的物理独立性是指当数据库的内模式发生改变时,数据的逻辑结构不变。为了保证应用程序能够正确执行,需要通过修改概念模式与内模式之间的映像。数据的逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构发生变化后,用户程序也可以不修改。但是,为了保证应用程序能够正确执行,需要修改外模式与概念模式之间的映像。(7.)设有职务工资关系P(职务,最低工资,最高工资),员工关系EMP(员工号,职务,工资),要求任何一名员工,其工资值必须在其职务对应的工资范围之内,实现该需求的方法是()。A.建立“EMP.职务”向“P.职务”的参照完整性约束B.建立“P.职务”向“EMP.职务”的参照完整性约束C.建立EMP上的触发器程序审定该需求D.建立P上的触发器程序审定该需求正确答案:C参考解析:完整性约束包括:实体完整性约束、参照完整性约束和用户自定义完整性约束三类。实体完整性要求主键中的任一属性不能为空,同时主键不能有重复值。参照完整性要求外键的值,要么为空,要么为对应关系的主键值。同时仅当参照关系中没有任何元组的外键值与被参照关系中要删除元组的主键值相同时,系统才可以执行删除操作,否则拒绝执行删除操作。用户定义的完整性是针对某一具体数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。一般用于限制某字段值的取值范围,此范围不涉及其他数据表的值。从以上描述来看,根据题目的要求,以上3种完整性约束都无法达到目的。所以需要考虑触发器,触发器的功能一般比完整性约束要强得多。触发器的原理是通过编写相应的触发器脚本代码,来对某个字段值的变化进行监控,一旦值发生变化,则触发器脚本执行。在本题中,需要达到的效果是EMP中的工资产生变化,则需要判断变化值是否在P关系规定的范围之内,所以应在EMP上建立触发器。(8.)某公司欲开发一套窗体图形界面类库。该类库需要包含若干预定义的窗格(Pane)对象,例如TextPane、ListPane等,窗格之间不允许直接引用。基于该类库的应用由一个包含一组窗格的窗口组成,并需要协调窗格之间的行为。基于该类库,在不引用窗格的前提下实现窗格之间的协作,应用开发者应采用()最为合适。A.备忘录模式B.中介者模式C.访问者模式D.迭代器模式正确答案:B参考解析:根据题干描述,应用系统需要使用某公司开发的类库,该应用系统由一组窗格组成,应用需要协调窗格之间的行为,并且不能引用窗格自身,在这种要求下,对比4个候选项,其中中介者模式用一个中介对象封装一系列的对象交互。中介者使用的各对象不需要显式的相互调用,从而使其耦合松散。可以看出该模式最符合需求。(9.)某公司欲开发一个软件系统的在线文档帮助系统,用户可以在任何一个查询上下文中输入查询关键字,如果当前查询环境下没有相关内容,则系统会将查询按照一定的顺序转发给其他查询环境。基于上述需求,采用()最为合适。A.责任链模式B.桥接模式C.装饰模式D.适配器模式正确答案:A参考解析:根据题干描述,在线文档系统需要根据用户的查询需求逐步将查询请求依次传递,对比4个候选项,其中在责任链模式中,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。因此责任链模式是能够满足该要求的最好模式。(10.)给定关系模式R(U,F),其中,属性集U={城市,街道,邮政编码},函数依赖集F={(城市,街道)→邮政编码,邮政编码→城市}。关系R()A.只有1个候选关键字“城市,街道”B.只有1个候选关键字“街道,邮政编码”C.有2个候选关键字“城市,街道”和“街道,邮政编码”D.有2个候选关键字“城市,街道”和“城市,邮政编码”正确答案:C参考解析:根据函数依赖定义,可推出“(城市,街道)→U”和“(邮政编码,街道)→U”,因此,(城市,街道)和(街道,邮政编码)都是候选关键字。包含在任何一个候选关键字中的属性称为主属性,不包含在任何候选关键字中的属性称为非主属性。因为关系R只有3个属性,而且都包含在关键字中,因此,R中的3个属性都是主属性,而无非主属性。(11.)给定关系模式R(U,F),其中,属性集U={城市,街道,邮政编码},函数依赖集F={(城市,街道)→邮政编码,邮政编码→城市}。关系R有2个候选关键字“城市,街道”和“街道,邮政编码”,且分别有__()__。A.1个非主属性和2个主属性B.0个非主属性和3个主属性C.2个非主属性和1个主属性D.3个非主属性和0个主属性正确答案:B参考解析:根据函数依赖定义,可推出“(城市,街道)→U”和“(邮政编码,街道)→U”,因此,(城市,街道)和(街道,邮政编码)都是候选关键字。包含在任何一个候选关键字中的属性称为主属性,不包含在任何候选关键字中的属性称为非主属性。因为关系R只有3个属性,而且都包含在关键字中,因此,R中的3个属性都是主属性,而无非主属性。(12.)设有员工关系Emp(员工号,姓名,性别,年龄,电话,家庭住址,家庭成员,关系,联系电话〉。其中,“家庭成员,关系,联系电话”分别记录了员工亲属的姓名、与员工的关系以及联系电话,且一个员工允许有多个家庭成员。为使数据库模式设计更合理,对于员工关系Emp()。A.只允许记录一个亲属的姓名、与员工的关系以及联系电话B.可以不作任何处理,因为该关系模式达到了3NFC.增加多个家庭成员、关系及联系电话字段D.应该将家庭成员、关系及联系电话加上员工号设计成一个独立的模式正确答案:D参考解析:因为每个员工允许有多个家庭成员,如果将这么多家庭成员都记录下来,势必造成表中数据的冗余,所以应该将家庭成员、关系及联系电话加上员工号设计成一个独立的模式。(13.)实体一关系图(E-R图)用于结构化分析过程中的()建模。A.功能B.数据C.行为D.组织正确答案:B参考解析:E-R图时结构化分析过程的工具,用于数据建模,将现实世界中的事物抽象信息世界里的数据。(14.)若对关系R(A,B,C,D)、S(C,D,E)进行运算,则该关系代数表达式与()是等价的。A.见图AB.见图BC.见图CD.见图D正确答案:A参考解析:本题考查关系代数运算方面的基础知识。自然联接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中将重复属性列去掉。本试题中的含义是R×S后,选取R和S关系中R.C=S.C∧R.D=S.D的元组,再进行R.A、R.B、R.C、R.D和S.E的投影关系运算。可见该关系运算表达式与是等价的。(15.)给定关系模式R(U,F),U={A,B,C,D},F={AB→C,CD→B}。关系R(请作答此空),且分别有()。A.只有1个候选关键字ACB.只有1个候选关键字BCDC.有2个候选关键字ACD和ABD.有2个候选关键字ACB和BCD正确答案:C参考解析:根据函数依赖定义,可知ACD→U,ABD→U,所以ACD和ABD均为候选关键字。根据主属性的定义“包含在任何一个候选码中的属性叫做主属性(Primeattribute),否则叫做非主属性(Nonprimeattribute)”,所以,关系R中的4个属性都是主属性。(16.)给定关系模式R(U,F),U={A,B,C,D},F={AB→C,CD→B}。关系R(),且分别有(请作答此空)。A.0个非主属性和4个主属性B.1个非主属性和3个主属性C.2个非主属性和2个主属性D.3个非主属性和1个主属性正确答案:A参考解析:根据函数依赖定义,可知ACD→U,ABD→U,所以ACD和ABD均为候选关键字。根据主属性的定义“包含在任何一个候选码中的属性叫做主属性(Primeattribute),否则叫做非主属性(Nonprimeattribute)”,所以,关系R中的4个属性都是主属性。(17.)为了保证数据库的完整性(正确性),数据库系统必须维护事务的以下特性()。A.原子性、一致性、隔离性、持久性B.原子性、一致性、隔离性、闭包性C.一致性、隔离性、持久性、完整性D.隔离性、闭包性、时间性、适用性正确答案:A参考解析:为了保证数据库的完整性(正确性),数据库系统必须维护事务的以下特性(简称ACID):①原子性(Atomicity):事务中的所有操作要么全部执行,要么都不执行。②一致性(Consistency):主要强调的是,如果在执行事务之前数据库是一致的,那么在执行事务之后数据库也是一致的。③隔离性(Isolation):即使多个事务并发(同时)执行,每个事务都感觉不到系统中有其他的事务在执行,因而也就能保证数据库的一致性。④持久性(Durability):事务成功执行后它对数据库的修改是永久的,即使系统出现故障也不受影响。(18.)关于数据模型的说法错误的是()。A.数据模型主要有两大类,分别是概念数据模型(实体—联系模型)和基本数据模型(结构数据模型)。B.概念模型主要用数据流表示,所以也称DFD模型。C.基本数据模型是按照计算机系统的观点来对数据和信息建模,主要用于DBMS的实现。D.基本数据模型是数据库系统的核心和基础。基本数据模型通常由数据结构、数据操作和数据的约束条件三部分组成。正确答案:B参考解析:概念数据模型是按照用户的观点来对数据和信息建模,主要用于数据库设计。概念模型主要用实体—联系方法(Entity-RelationshipApproach)表示,所以也称E-R模型。(19.)算术表达式采用后缀式表示时不需要使用括号,使用()就可以方便地进行求值。a-b*(c+d)的后缀式为(请作答此空)。A.abcd-*+B.abcd*+-C.ab-c*d+D.abcd+*-正确答案:D参考解析:本题考查编译原理基础知识。计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式"46+5*(120-37)"的后缀表达式形式为"46512037-*+"。计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出相关运算对象进行计算,并将运算结果压入栈中,重复以上过程,直到后缀表达式扫描结束。表达式"a-b*(b+d)"的后缀表达式形式为"abcd+*-。(20.)6进程P1、P2、P3、P4和P5的前趋图如下所示:若用PV操作控制进程P1、P2、P3、P4和P5并发执行的过程,则需要设置5个信号量S1、S2、S3、S4、S5,且信号量S1~S5的初值都等于零。下图中c和d分别应填写()。A.P(S2)和P(S4)B.P(S2)和V(S4)C.V(S2)和P(S4)D.V(S2)和V(S4)正确答案:B参考解析:参考课程有关内容。1、先在图中标注信号量2、遵循P前面的信号量,V后面的信号量的原则。(21.)算术表达式采用后缀式表示时不需要使用括号,使用(请作答此空)就可以方便地进行求值。a-b*(c+d)的后缀式为()。A.队列B.数组C.栈D.广义表正确答案:C参考解析:本题考查编译原理基础知识。计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式"46+5*(120-37)"的后缀表达式形式为"46512037-*+"。计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出相关运算对象进行计算,并将运算结果压入栈中,重复以上过程,直到后缀表达式扫描结束。表达式"a-b*(b+d)"的后缀表达式形式为"abcd+*-。(22.)一个高度为h的满二叉树的结点总数为2(h次方)-1其每一层结点个数都达到最大值。从根结点开始顺序编号,即根结点编号为1,其左、右孩子结点编号分别为2和3,再下一层从左到右的编号为4、5、6、7,依次类推,每一层都从左到右依次编号,直到最后的叶子结点层为止。那么,在一颗满二叉树中,对于编号m和n的两个结点,若m=2n+1,则()。A.m是n的左孩子B.m是n的右孩子C.n是m的左孩子D.n是m的右孩子正确答案:B参考解析:本题考查数据结构基础知识。用验证的方法求解,以高度为3的满二叉树(如下图所示)为例进行说明。若m=2n+1,则结点m是n的右孩子结点。(23.)在二叉排序树中进行查找的效率与()有关。A.二叉排序树的深度B.二叉排序树的结点个数C.被查找结点的度D.二叉排序树的存储结构正确答案:A参考解析:二叉排序树的查找路径是自顶向下的,平均查找长度取决于树的高度。(24.)在求解某问题时,经过分析发现该问题具有最优子结构性质,求解过程中子问题被重复求解,则采用()算法设计策略A.分治B.动态规划C.贪心D.回溯正确答案:B参考解析:分治法的设计思想是将一个难以直接解决的大问题分解成一些规模较少的相同问题以便各个击破,分而治之。动态规划法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划法求解的问题,经分解得到的子问题往往不是独立的。若用分治法来解这类问题,则相同的子问题会被求解多次,以至于最后解决原问题需要耗费指数级时间。贪心法经常用于解决最优化问题,但他的最优往往是从局部最优来考虑的,每一步都选最优的方案,但这种方案不一定能得到整体上的最优解。回溯法是一种既带有系统性又带有跳跃性的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策略,从根节点出发搜索解空间树。题目描述中提到,需要解决的问题具有最优子结构性质,且求解过程中子问题被重复求解,这种情况下如果采用分治法,效率会很低,所以应采用动态规划法。而“以深度优先的方式搜索解空间”则明显是在采用回溯法。(25.)在求解某问题时,经过分析发现该问题具有最优子结构性质,若定义问题的解空间,以深度优先的方式搜索解空间,则采用()算法设计策略。A.动态规划B.贪心C.回溯D.分支限界正确答案:C参考解析:分治法的设计思想是将一个难以直接解决的大问题分解成一些规模较少的相同问题以便各个击破,分而治之。动态规划法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划法求解的问题,经分解得到的子问题往往不是独立的。若用分治法来解这类问题,则相同的子问题会被求解多次,以至于最后解决原问题需要耗费指数级时间。贪心法经常用于解决最优化问题,但他的最优往往是从局部最优来考虑的,每一步都选最优的方案,但这种方案不一定能得到整体上的最优解。回溯法是一种既带有系统性又带有跳跃性的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策略,从根节点出发搜索解空间树。题目描述中提到,需要解决的问题具有最优子结构性质,且求解过程中子问题被重复求解,这种情况下如果采用分治法,效率会很低,所以应采用动态规划法。而“以深度优先的方式搜索解空间”则明显是在采用回溯法。(26.)考虑下述背包问题的实例。有5件物品,背包容量为100,每件物品的价值和重量如下表所示,并已经按照物品的单位重量价值从大到小徘好序,根据物品单位重量价值大优先的策略装入背包中,则采用了()设计策略。考虑0/1背包问题(每件物品或者全部放入或者全部不装入背包)和部分背包问题(物品可以部分装入背包),求解该实例,得到的最大价值分别为(请作答此空)。A.605和630B.605和605C.430和630D.630和430正确答案:C参考解析:贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。0/1背包考虑该问题时,只能放入1、2、3号物品,故总价值为430,采用部分背包问题可以将物品拆分,故放1、2、3号物品后还可以放入部分4号物品,故总容量为630。(27.)下面关于哈夫曼树的叙述中,正确的是()。A.哈夫曼树一定是完全二叉树B.哈夫曼树一定是平衡二叉树C.哈夫曼树中权值最小的两个结点互为兄弟结点D.哈夫曼树中左孩子结点小于父结点、右孩子结点大于父结点正确答案:C参考解析:哈夫曼树是一种特殊的二叉树,但它不是完全二叉树,也不是平衡二叉树,给出n个权值{w1,w2,…,wn}构造一棵具有n个叶子结点的哈夫曼树的方法如下:第一步,构造n个只有根结点的二叉树集合F={T1,T2,…,Tn},其中每棵二叉树Ti的根结点带权为Wi(1≤k≤n)第二步,在集合F中选取两棵根结点的权值最小的二叉树作为左右子树,构造一棵新的二叉树,令新二叉树根结点的权值为其左、右子树上根结点的权值之和第三步,在F中删除这两棵二叉树,同时将新得到的二叉树加入到F中第四步,重复第二步和第三步,直到F只含有一棵二叉树为止,这棵二叉树便是哈夫曼树综上所述,我们可以知道哈夫曼树中权值最小的两个结点互为兄弟结点(28.)己知一棵度为3的树(一个结点的度是指其子树的数目,树的度是指该树中所有结点的度的最大值)中有5个度为1的结点,4个度为2的结点,2个度为3的结点,那么,该树中的叶子结点数目为()。A.10B.9C.8D.7正确答案:B参考解析:由于叶子节点没有子树,因此它的度为0。而除根节点外,其它的节点都应该可以做为子节点,即可以用于计算度。在本题中告我有5个度为1的结点,4个度为2的结点,2个度为3的结点,那么树中总的度数为5+8+6=19,因此树中除根节点外,就应该有19个节点,所以树中总的节点数应该为20,那么叶子节点数=20-5-4-2=9。(29.)对关键码序列(9,12,15,20,24,29,56,69,87)进行二分查找(折半查找),若要查找关键码15;则需依次与()进行比较。A.87、29、15B.9、12、15C.24、12、15D.24、20、15正确答案:C参考解析:二分法查找(折半查找)的基本思想是:(设R[low,…,high]是当前的查找区)(1)确定该区间的中点位置:mid=[(low+high)/2](2)将待查的k值与R[mid].key比较,若相等,则查找成功并返回此位置,否则需确定新的查找区间,继续二分查找,具体方法如下若R[mid].key>k,则由表的有序性可知R[mid,…,n].key均大于k,因此若表中存在关键字等于k的结点,则该结点必定是在位置mid左边的子表R[low,…,mid-1]中。因此,新的查找区间是左子表R[low,…,high],其中high=mid-1若R[mid].key<k,则要查找的k必在mid的右子表R[mid+1,…,high]中,即新的查找区间是右子表R[low,…,high],其中low=mid+1若R[mid].key=k,则查找成功,算法结束(3)下一次查找是针对新的查找区间进行,重复步骤(1)和(2)(4)在查找过程中,low逐步增加,而high逐步减少。如果high<low,则查找失败,算法结束。(30.)已知某带权图G的邻接表如下所示,其中表结点的结构为:则图G是()。A.无向图B.完全图C.有向图D.强连通图正确答案:C参考解析:本题考查数据结构基础知识。从题中的邻接表中可知,该图的边为<v1,v3>、<v1,v2>、<v2,v5>、<v2,v6>、<v3,v6>、<v3,v2>、<v5,v4>、<v6,v4>、<v6,v5>,如下图所示,显然,这是个有向图。在无向图中,若存在边(vi,vj),则它同时为vj和vi之间的边。在上面的邻接表中,存在边<v1,v3>,而不存在<v3,v1>,因此该图不是无向图。对于无向图,其边数e和顶点数n的关系为e=n×(n-1)/2。对于有向图,其边数e和顶点数n的关系为e=n×(n-1),因此该图不是完全图。若有向图为强连通图,则任意两个顶点间要存在路径。在该有向图中,由于顶点v4没有出边,因此,不存在v4到其他顶点的路径,因此该图不是强连通图。(31.)输出受限的双端队列是指只有一端可以进行出队操作而从两端都可以进行入队操作的队列,如下图所示。对于输入序列abcd,经过一个初始为空且输出受限的双端队列后,不能得到的输出序列为()。A.dabcB.dcbaC.dcabD.dacb正确答案:D参考解析:本题考查队列概念。先要理解下栈和队列的概念。栈是先进后出,后进先出。队列是先进先出,后进后出。栈的概念是弹压,就像子弹壳装弹,一粒一粒压进去,但是打出来的时候是从上面打出来的,最先压进去的最后弹出来,如果进去顺序是123,打出来顺序是321,这就是后进先出;队列是的概念就是我们平时排队,按次序来,你排在第1个,那你就第一个轮到,就是先进先出,先到先来。而本题考察的是输出受限的双端队列,其是指只有一端可以进行出队操作而从两端都可以进行入队操作的队列。那么,其可能的输出队列是有很多种的。在本题中,d已经进入了队列,说明a、b、c都已经进入了队列,因为d最先出队列,说明d肯定从左侧端入列。当d从左侧入队列,且最先出队列时,那会有以下八种情况:1.a、b、c都于左侧进入队列,则出栈序列为:d、c、b、a2.a、b于左侧入队列,c位于右侧入队列,则出栈序列为:d、b、a、c3.b、c于左侧入队列,a位于右侧入队列,则出栈序列为:d、c、b、a4.a、c于左侧入队列,b位于右侧入队列,则出栈序列为:d、c、a、b5.a于左侧入队列,b、c位于右侧入队列,则出栈序列为:d、a、b、c6.b于左侧入队列,a、c位于右侧入队列,则出栈序列为:d、b、a、c7.c于左侧入队列,a、b位于右侧入队列,则出栈序列为:d、c、a、b8.a、b、c于右侧入队列,则出栈序列为:d、a、b、c?所以答案选择D。(32.)对于n个元素的关键字序列{ki,k2,…,kn},当且仅当满足关系ki≤k2i且ki≤k2i+i(i=1,2,…[n/2])时称为小根堆(小顶堆)。以下序列中,()不是小根堆。A.12,20,36,48,25,50,40B.12,36,20,48,40,25,50C.12,20,25,36,40,48,50D.12,36,20,48,25,50,40正确答案:D参考解析:在完全二义树中对结点可如下编号:根结点为1号,其左孩子结点为2号,右孩子结点为3号,对于编号为i的结点,其左孩子结点若存在,则编号为2i,其右孩子结点若存在,则编号为2i+1。可将序列中的元素放入一棵完全二叉树上进行判断,如下图所示。根据堆的定义,可知选项D不是堆。(33.)若在单向链表上,除访问链表中所有结点外,还需在表尾频繁插入结点,那么采用()最节省时间。A.仅设尾指针的单向链表B.仅设头指针的单向链表C.仅设尾指针的单向循环链表D.仅设头指针的单向循环链表正确答案:C参考解析:单向链表仅设头指针时,在表尾插入结点时需要遍历整个链表,时间复杂度为o(n),仅设尾指针时,在表尾插入结点的时间复杂度为O(1),但是不能访问除了尾结点之外的所有其他结点。而单向循环链表仅设头指针时,在表尾插入结点时需要遍历整个链表,时间复杂度为0(n),仅设尾指针时,在表尾插入结点的时间复杂度为0(1),同时达到表头结点的时间复杂度为0(1),因此对于题中给出的操作要求,适合采用仅设尾指针的单向循环链表。(34.)采用邻接表存储的图的深度优先遍历算法类似于二叉树的()。A.中序遍历B.前序遍历C.后序遍D.按层遍历正确答案:B参考解析:图的深度优先遍历即纵向优先遍历,类似于二叉树的前序遍历。(35.)采用插入排序算法对n个整数排序,其基本思想是:在插入第i个整数时,前i-1个整数已经排好序,将第i个整数依次和第i-1,i-2,…个整数进行比较,找到应该插入的位置。现采用插入排序算法对6个整数{5,2,4,6,1,3}进行从小到大排序,则需要进行(请作答此空)次整数之间的比较。对于该排序算法,输入数据具有()特点时,对整数进行从小到大排序,所需的比较次数最多。A.9B.10C.12D.13正确答案:C参考解析:采用插入排序算法对6个整数{5,2,4,6,1,3}进行从小到大排序的过程如表所示。综上,元素间共比较12次。从上表中的第4步可看出,当待插入的元素比已排序部分的所有元素都要小时,需要比较和移动的元素最多,因此当输入数据序列正好从大到小排列,而需要将其从小到大排序时,元素间的比较次数最多。(36.)某个应用中,需要对输入数据进行排序,输入数据序列基本有序(如输入为1,2,5,3,4,6,8,7)。在这种情况下,采用(请作答此空)排序算法最好,时间复杂度为()。A.插入B.归并C.堆D.快速正确答案:A参考解析:当序列基本有序时,使用插入排序效率是最高的,能达到这种算法的最优效果,O(n)。(37.)某个应用中,需要对输入数据进行排序,输入数据序列基本有序(如输入为1,2,5,3,4,6,8,7)。在这种情况下,采用()排序算法最好,时间复杂度为(请作答此空)。A.O(n)B.O(nlgn)C.O(n^2)D.O(n^2lgn)正确答案:A参考解析:当序列基本有序时,使用插入排序效率是最高的,能达到这种算法的最优效果,O(n)。(38.)以下不稳定的排序算法是()。A.冒泡排序B.直接插入排序C.希尔排序D.归并排序正确答案:C参考解析:排序算法的稳定性如下表所示:(39.)关于二叉树的说法正确的是()。A.深度为k的二叉树最多有2k-1个结点(k≧1)B.深度为k的二叉树最多有2^k-1个结点(k≧1)C.深度为k的二叉树最多有2^(k-1)个结点(k≧1)D.深度为k的二叉树最多有2^k个结点(k≧1)正确答案:B参考解析:深度为k的二叉树最多有2^k-1个结点(k≧1)(40.)设有二叉排序树(或二叉查找树)如下图所示,建立该二叉树的关键码序列不可能是()。A.233117191127139061B.231719312790611113C.231727193113119061D.233190612717191113正确答案:C参考解析:31是27的父亲节点,31必须在27前面(41.)在55个互异元素构成的有序表A[1..55]中进行折半查找(或二分查找,向下取整)。若需查找的元素等于A[19],则在查找过程中参与比较的元素依次为()A.A[28]、A[30]、A[15]、A[20]B.A[28]、A[14]、A[21]、A[17]C.A[28]、A[15]、A[22]、A[18]D.A[28]、A[18]、A[22]、A[20]正确答案:B参考解析:本题考查数据结构基础知识。对55个元素构成的有序表进行折半查找时,可用判定树描述查找过程,由于A[19]小于中间元素A[28],所以判定树的左分支如下所示。从中可知,查找过程中参与比较的元素分别为A[28]、A[14]、A[21]、A[17]、A[19]。(42.)在系统开发中,原型可以划分为不同的种类。从原型是否实现功能来分,可以分为水平原型和垂直原型;从原型最终结果来分,可以分为抛弃式原型和演化式原型。以下关于原型的叙述中,正确的是()。A.水平原型适合于算法较为复杂的项目B.垂直原型适合于Web项目C.抛弃式原型适合于需求不确定、不完整、含糊不清的项目D.演化式原型主要用于界面设计正确答案:C参考解析:在系统开发中,原型是系统的一个早期可运行的版本,它反映最终系统的部分重要特性。从原型是否实现功能来分,可分为水平原型和垂直原型两种。水平原型也称为行为原型,用来探索预期系统的一些特定行为,并达到细化需求的目的。水平原型通常只是功能的导航,但未真实实现功能。水平原型主要用在界面上。垂直原型也称为结构化原型,实现了一部分功能。垂直原型主要用在复杂的算法实现上。从原型的最终结果来分,可分为抛弃式原型和演化式原型。抛弃式原型也称为探索式原型,是指达到预期目的后,原型本身被抛弃。抛弃式原型主要用在解决需求不确定性、二义性、不完整性、含糊性等。演化式原型为开发增量式产品提供基础,逐步将原型演化成最终系统,主要用在必须易于升级和优化的场合,适合于Web项目。(43.)绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定在编译时进行,叫做()。A.继承B.多态C.动态绑定D.静态绑定正确答案:D参考解析:本题考查面向对象中的基本概念。在收到消息时,对象要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态(polymorphism)。在使用多态的时候,用户可以发送一个通用的消息,而实现的细节则由接收对象自行决定。这样,同一消息就可以调用不同的方法。绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定是在编译时进行的,叫做静态绑定。动态绑定则是在运行时进行的,因此,一个给定的过程调用和代码的结合直到调用发生时才进行。动态绑定是和类的继承以及多态相联系的。在继承关系中,子类是父类的一个特例,所以,父类对象可以出现的地方,子类对象也可以出现。因此在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接,即动态绑定。(44.)A.654321B.123456C.563421D.564213正确答案:A参考解析:本题主要考查拓扑序列。在给出拓扑图求拓扑序列时,我们应该掌握一个关键因素,那就是箭头的画出节点在箭头指向节点前,如果一个节点被很多箭头所指,那么应该要在所有这些箭头的画出节点之后才是本节点。拓扑序列的开始节点应该是没有箭头所指的节点,在本题中应该是5或6,这里需要注意它们谁在最前面都可以。那么按照这个原则我们就可以知道本题的拓扑序列应该为654321或者564321。(45.)在面向对象分析和设计中,用类图给出系统的静态设计视图,其应用场合不包括()。下图是一个UML类图,其中类University和类School之间是()关系,类Person和类PersonRecord之间是()关系,表示Person与PersonRecord(请作答此空)。A.之间的语义关系,其中PersonRecord发生变化会影响Person的语义B.之间的一种结构关系,描述了一组链,即对象之间的连接C.是整体和部分的关系D.是一般和特殊的关系正确答案:A参考解析:本题考查面向对象技术的基础知识。考生应该了解UML的典型模型,包括用例图、类图、序列图、活动图等。本题考查类图,类图主要是对系统的词汇建模,或者对简单的协作建模,或者对逻辑数据库模式建模,而用例图对系统的需求建模。类图中,类和类之间的关系有依赖关系、关联关系、聚集关系、组合关系和泛化关系,其中聚集关系和组合关系是表示更强的关联关系,表示整体和部分的关系,而组合关系的类之间具有相同的生命周期。图中类University和类School之间是聚集关系,类Person和类PersonRecord之间是依赖关系,表示Person与PersonRecord之间的语义关系,其中PersonRecord发生变化会影响Person的语义。(46.)如下所示的UML图中,(I)是(),(Ⅱ)是(),(Ⅲ)是(请作答此空)。A.参与者B.用例C.泛化关系D.包含关系正确答案:B参考解析:本题考查统一建模语言(UML)的基本知识。用例图(usecasediagram)展现了一组用例、参与者(Actor)以及它们之间的关系。用例图通常包括用例、参与者,以及用例之间的扩展关系(<<extend>>)和包含关系(<<include>>),参与者和用例之间的关联关系,用例与用例以及参与者与参与者之间的泛化关系。如下图所示。用例图用于对系统的静态用例视图进行建模,主要支持系统的行为,即该系统在它的周边环境的语境中所提供的外部可见服务。(47.)用于增加对象功能的设计模式是()A.AdapterB.DecoratorC.DelegationD.Proxy正确答案:B参考解析:本题考查常见设计模式的功能,备选答案中除Delegation,其它均为经典设计模式。适配器(adapter)模式。适配器模式将一个接口转换成客户希望的另一个接口,从而使接口不兼容的那些类可以一起工作。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在类适配器模式中,通过使用一个具体类将适配者适配到目标接口中;在对象适配器模式中,一个适配器可以将多个不同的适配者适配到同一个目标。装饰(decorator)模式。装饰模式是一种对象结构型模式,可动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。通过装饰模式,可以在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责;当需要动态地给一个对象增加功能,这些功能可以再动态地被撤销时可使用装饰模式;当不能采用生成子类的方法进行扩充时也可使用装饰模式。代理(proxy)模式。代理模式是一种对象结构型模式,可为某个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式能够协调调用者和被调用者,能够在一定程度上降低系统的耦合度,其缺点是请求的处理速度会变慢,并且实现代理模式需要额外的工作。(48.)以下关于UML部署图的叙述中,正确的是()。A.因为一条消息总是有某种响应,所以部署组件之间的依赖是双向的B.部署组件之间的依赖关系类似于包依赖C.部署图不用于描述代码的物理模块D.部署图不用于描述系统在不同计算机系统的物理分布正确答案:B参考解析:部署图展现了运行处理节点以及其中的构件的配置。部署图给出了体系结构的静态实施视图。它与构建视图相关,通产一个结点包含一个或多个构件。(49.)结构化分析(StructuredAnalysis,SA是面向数据流的需求分析方法,______不属于SA工具。A.分层的数据流图B.数据词典C.问题分析图D.描述加工逻辑的结构化语言、判定表或判定树正确答案:C参考解析:本题考查对软件开发工具相关内容的了解。结构化方法(StructuredMethod)是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。针对软件生存周期各个不同阶段,它包括结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)等方法。结构化分析方法给出一组帮助系统分析人员产生功能规约的原理与技术。它一般利用图形表达用户需求,使用的手段主要有数据流图、数据字典、结构化语言、判定表以及判定树等,其中不包括问题分析图。(50.)UML中,静态视图描述事务的静态结构,主要包括();交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系,主要包括(请作答此空)。A.活动图、状态图B.序列图、状态图C.活动图、协作图D.序列图、协作图正确答案:D参考解析:静态结构:主要包括用例图、类图和包图动态视图:主要包括活动图、状态图、序列图和协作图。动态视图中,交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系,主要包括序列图、协作图(51.)采用以下设计思路实现下图所示的目录浏览器:目录中的每个目录项被认定为一个类,其属性包括名称、类型(目录或文件)、大小、扩展名、国标等。为节省内存空间,要求不能将具有相同属性(例如类型、扩展名、图标相同)的相同文件看作不同的对象。能够满足这一要求的设计模式是()。A.FlyweightB.ProxyC.CommandD.State正确答案:A参考解析:根据目的和用途不同,设计模式可分为创建型(Creadonal)模弍、结构型(Structural)模式和行为型(Behavioral)模式三种。创建型模式主要用于创建对象,结构型模式主要用于处理类或对象的组合,行为型模式主要用于描述类或对象的交互以及职责的分配。根据题干的描述,适用于该要求的设计模式应属于结构型模式。Flyweight(享元)和Proxy(代理)属于结构型模式。Flyweight模式通过运用共享技术,有效地支持大量细粒度的对象。系统只使用少量的对象,而这些对象都很相似,状态变化很小,对象使用次数增多。Proxy模式可为某个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式能够协调调用者和被调用者,能够在一定程度上降低系统的耦合度。因此本题适合于采用Flyweight模式。(52.)A.605和630B.605和605C.430和630D.630和430正确答案:C参考解析:本题考查贪心算法和背包问题的知识点。贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。0/1背包考虑该问题时,只能放入1、2、3号物品,故总价值为430,采用部分背包问题可以将物品拆分,故放1、2、3号物品后还可以放入部分4号物品,故总容量为630。(53.)已知一个文件中出现的各个字符及其对应的频率如下表所示。若采用定长编码,则该文件中字符的码长应为()A.6B.5C.4D.3正确答案:D参考解析:①有6个不同字母,需要采用3位二进制进行编码。②本题对应的哈夫曼树如下所示:(54.)某二叉树为单枝树(即非叶子结点只有一个孩子结点)且具有n个结点(n>1),则该二叉树()A.共有n层,每层有一个结点B.共有log2n层,相邻两层的结点数正好相差一倍C.先序遍历序列与中序遍历序列相同D.后序遍历序列与中序遍历序列相同正确答案:A参考解析:若二叉树为单技树,那幺n个节点就分布在n层上。遍历序列则与遍历方法和二叉树的形态有关。例如,对于三个节点的单技二叉树,其形态可为:(55.)给定关系模式R<U,F>,U={A,B,C,D,E},F={B→A,D→A,A→E,AC→B},则R的候选关键字为()A.CDB.ABDC.ACD.ADE正确答案:A参考解析:CD能推出题中关系式的所有属性,因此R的候选关键字为CD。判断是否为无损连接,首先进行R1∩R2=C,由于C不能推出R1或者R2中的任何属性值,因此该分解为有损分解。原关系式F中有D→A而分解的Rl(ABCE)中没有D,所以该分解不保持函数依赖。(56.)A.分治B.贪心C.动态规划D.回溯正确答案:B参考解析:根据题目对霍夫曼编码的描述,我们不难知道,每次都是选择当前最小的情况,这符合贪心算法总是找当前看来最优的情况,因此属于贪心策略。如果对包含100,000个字符,且这些字符都属于a到f。那么如果采用固定长度的编码,针对于每个字符需要3位来编码(因为有6个不同的字符,至少需要3位才能表示6种不同的变化)。那么对100000个字符编码,其编码长度为300000。如果采用霍夫曼编码,那么首先我们就要根据字符出现的频率构造出其霍夫曼树。首先选择出现频率最低的4和8,生成子树,其父节点为12,然后放入出现频率队列中,后面的采用同样的道理,以此类推。构造出的霍夫曼树如下图所示:(57.)A.(Q.rear+Q.len-1)B.(Q.rear+Q.len-1+M)%MC.(Q.rear-Q.len+1)D.(Q.rear-Q.len+1+M)%M正确答案:D参考解析:对于循环队列,求队头元素的指针的计算公式为:(rear-len+1+M)%M。求队列中元素个数公式为:(rear-fear+M)%M。其中fear表示队列的对头指针。(58.)在具有n(n>0)个顶点的简单无向图中,最多含有()条边。A.n(n-1)B.n(n+1)C.n*(n-1)/2D.n*(n+1)/2正确答案:C参考解析:本题考查图结构基础知识。对于n个顶点的简单无向图,每个顶点最多与其余的n-1个结点邻接(若两个顶点之间有边,则称为邻接),因此,最多有n(n-1)条边,同时,由于边没有方向,因此一条边关联的两个顶点,邻接关系被计算了两次,所以边的个数为n(n-1)/2。(59.)A.零件名称,AVG(单价),MAX(单价)?MIN(单价)B.供应商,AVG(单价),MAX(单价)?MIN(单价)C.零件名称,AVG单价,MAX单价?MIN单价D.供应商,AVG单价,MAX单价?MIN单价正确答案:A(60.)A.分治B.贪心C.动态规划D.回溯正确答案:B参考解析:本题考查贪心算法和背包问题的知识点。贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。0/1背包考虑该问题时,只能放入1、2、3号物品,故总价值为430,采用部分背包问题可以将物品拆分,故放1、2、3号物品后还可以放入部分4号物品,故总容量为630。(61.)A.ORDERBY供应商B.ORDERBY零件号C.GROUPBY供应商D.GROUPBY零件号正确答案:D(62.)A.21%B.27%C.18%D.36%正确答案:A参考解析:根据题目对霍夫曼编码的描述,我们不难知道,每次都是选择当前最小的情况,这符合贪心算法总是找当前看来最优的情况,因此属于贪心策略。如果对包含100,000个字符,且这些字符都属于a到f。那么如果采用固定长度的编码,针对于每个字符需要3位来编码(因为有6个不同的字符,至少需要3位才能表示6种不同的变化)。那么对100000个字符编码,其编码长度为300000。如果采用霍夫曼编码,那么首先我们就要根据字符出现的频率构造出其霍夫曼树。首先选择出现频率最低的4和8,生成子树,其父节点为12,然后放入出现频率队列中,后面的采用同样的道理,以此类推。构造出的霍夫曼树如下图所示:(63.)给定关系模式R(A1,A2,A3,A4),R上的函数依赖集F={A1A3→A2,A2→A3},则R(请作答此空)若将R分解为p={(A1A2),(A1,A3)},那么该分解()A.有一个候选关键字A1A3B.有一个候选关键字A1A2A3C.有两个候选关键字A1A3A4和A1A2A4D.有三个候选关键字A1A2、A1A3和A1A4正确答案:C参考解析:A1A3→A2,A2→A3,没有出现A4,所以候选关键字中肯定包A4,属性A1A3A4决定全属性,故为候选关键字。同理A1A2A4也为候选关键字。设U1={A1,A2},U2={A1,A3},那么可得出:U1∩U2→(U1-U2)=A1→A2,U1∩U2→(U2-U1)=A1→A3,而A1-A2,A1-A3?F+,所以分解ρ是有损连接的。又因为F1=F2=?,F+≠(F1∪F2)+,所以分解不保持函数依赖。(64.)给定关系模式R(A1,A2,A3,A4),R上的函数依赖集F={A1A3→A2,A2→A3},则R()。若将R分解为p={(A1A2),(A1,A3)},那么该分解(请作答此空)A.是无损联接的B.是保持函数依赖的C.既是无损联接又保持函数依赖D.既是有损联接又不保持函数依赖正确答案:D参考解析:A1A3→A2,A2→A3,没有出现A4,所以候选关键字中肯定包A4,属性A1A3A4决定全属性,故为候选关键字。同理A1A2A4也为候选关键字。设U1={A1,A2},U2={A1,A3},那么可得出:U1∩U2→(U1-U2)=A1→A2,U1∩U2→(U2-U1)=A1→A3,而A1-A2,A1-A3?F+,所以分解ρ是有损连接的。又因为F1=F2=?,F+≠(F1∪F2)+,所以分解不保持函数依赖。(65.)在关系R(A1,A2,A3)和S(A2,A3,A4)上进行πA1,A4(σA2<'2017'∧A4='95'(R?S))关系运算,与该关系表达式等价的是π1,6(σ2=4∧3=5(σ2<'2017'(R))×σ3='95'(S)))A.ORS.A4<'95'ORR.A2=S.A2ORR.A3=S.A3B.ANDS.A4<'95'ORR.A2=S.A2ANDR.A3=S.A3C.ANDS.A4<'95'ANDR.A2=S.A2ANDR.A3=S.A3D.ORS.A4<'95'ANDR.A2=S.A2ORR.A3=S.A3正确答案:C参考解析:因为相关的条件判断要同时成立,因此需要用AND进行连接。(66.)A.A,R.C,F,GB.A,C,S.B,S.FC.A,C,S.B,S.CD.R.A,R.C,S.B,S.C正确答案:A参考解析:关系R(A,B,C,D,E)和S(B,C,F,G)做自然连接时,会以两个关系公共字段做等值连接,然后将操作结果集中重复列去除,所以运算后属性列有7个。接下来分析关系表达式的SQL形式,题目中关系表达式先进行了R与S的自然连接。得到的结果集为:RS(R.A,R.B,R.C,R.D,R.E,S.F,S.G)。此后的选择操作“σ3<6”可表达为“σR.C<S.F”;最后进行投影操作“π1,3,6,7”即选出结果集的第1,3,6,7列,对应的列为:R.A,R.C,S.F,S.G(由于无重复字段,A,C,F,G及A,R.C,F,G或其它等价形式均可)。(67.)若关系模式R和S分别为:R(A,B,C,D.、S(B,C,E,F.,则关系R与S自然联结运算后的属性列有6个,与表达式π1,3,5,6(σ3<6())等价的SQL语句为:SWHERE()A.R.B=S.BANDR.C=S.CANDR.C<SB.R.B=S.BANDR.C=S.CANDR.C<S.FC.R.B=S.BORR.C=S.CORR.C<S.BD.R.B=S.BORR.C=S.CORRC<S.F正确答案:B参考解析:自然连接是指R与S关系中相同属性列名的等值连接运算后,再去掉右边重复的属性列名S.B、S.C,所以经运算后的属性列名为:R.A、R.B、R.C、R.D、S.E和S.F,共有6个属性列。π1,3,5,6(σ3<6())的含义是从结果集中选取R.C<S.F的元组,再进行R.A、R.C、S.E和S.F投影,故选项A是正确的。由于自然连接是指R与S关系中相同属性列名的等值连接,故需要用条件“WHERER.B=S.BANDR.C=S.C”来限定;又由于经自然连接运算后,去掉了右边重复的属性列名S.B、S.C,使得第三列属性列名和第六列属性列名分别为R.C、S.F,所以选取运算σ3<6需要用条件“WHERER.C<S.F”来限定。(68.)在分布式数据库中有分片透明、复制透明、位置透明和逻辑透明等基本概念,其中:()是指局部数据模型透明,即用户或应用程序无须知道局部使用的是哪种数据模型;(请作答此空)是指用户或应用程序不需要知道逻辑上访问的表具体是怎么分块存储的。A.分片透明B.复制透明C.位置透明D.逻辑透明正确答案:A参考解析:本题考查对分布式数据库基本概念的理解。分片透明是指用户或应用程序不需要知道逻辑上访问的表具体是怎么分块存储的。复制透明是指采用复制技术的分布方法,用户不需要知道数据是复制到哪些节点,如何复制的。位置透明是指用户无须知道数据存放的物理位置。逻辑透明,即局部数据模型透明,是指用户或应用程序无须知道局部场地使用的是哪种数据模型(6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论