1、算法的时间复杂度取决于(D)A)问题的规模B)待处理的数据的初态C)问题的难度D)A)和B)2、在数据结构中,从逻辑上可以把数据结构分成___B____。3、A)内部结构和外部结构B)线性结构和非线性结构C)紧凑结构和非紧凑结构D)动态结构和静态结构3、以下___D____不是栈的基本运算。(考点5)A)判断栈是否为素空B)将栈置为空栈C)删除栈顶元素D)删除栈底元素4、链表不具备的特点是___A____。(考点6)A)可随机访问任意一个结点B)插入和删除不需要移动任何元素C)不必事先估计存储空间D)所需空间与其长度成正比5、已知某二叉树的后序遍历序列是DACBE,中序遍历序列是DEBAC,则它的前序遍历序列是__D___。(考点8)A)ACBEDB)DEABCC)DECABD)EDBAC解析:后序遍历的顺序是左子树-右子树-根结点;中序遍历顺序是左子树-根结点-右子树;前序遍历顺序是根结点-左子树-右子树。根据各种遍历算法,不难得出前序遍历序列是EDBAC。所以答案为D)。6、设有一个已按各元素的值排好序的线性表(长度大于2),对给定的值k,分别用顺序查找法和二分查找法查找一个与k相等的元素,比较的次数分别是s和b,在查找不成功的情况下,s和b的关系是__B_____。(考点9)A)s=bB)sbC)sbD)s≥b解析:对于顺序查找,查找不成功时和给定关键字比较的次数为n+1。二分查找查找不成功的关键字比较次数为[log2n]+1。当n≥2时,显然n+1[log2n]+1。7、在快速排序过程中,每次划分,将被划分的表(或子表)分成左、右两个子表,考虑这两个子表,下列结论一定正确的是___B____。(考点11)A)左、右两个子表都已各自排好序B)左边子表中的元素都不大于右边子表中的元素C)左边子表的长度小于右边子表的长度D)左、右两个子表中元素的平均值相等二、填空题1、问题处理方案的正确而完整的描述称为__算法_____。(考点1)2、一个空的数据结构是按线性结构处理的,则属于_线性结构____。(考点4)3、设树T的度为4,其中度为1、2、3和4的结点的个数分别为4、2、1、1,则T中叶子结点的个数为__8_____。(考点7)解析:根据树的性质:树的结点数等于所有结点的度与对应的结点个数乘积之和加1。因此树的结点数为1×4+2×2+3×1+4×1+1=16。叶子结点数目等于树结点总数减去度不为0的结点数之和,即16-(4+2+1+1)=8。4、二分法查找的存储结构仅限于顺序存储结构_______且是有序的。(考点10)一、选择题1、结构化程序设计方法提出于__C_____。(考点1)A)20世纪50年代B)20世纪60年代C)20世纪70年代D)20世纪80年代2、结构化程序设计方法的主要原则有下列4项,不正确的是__A_____。(考点1)A)自下向上B)逐步求精C)模块化D)限制使用goto语句解析:结构化程序设计方法的主要原则为:(1)自顶向下(2)逐步求精(3)模块化(4)限制使用goto语句。3、面向对象的开发方法中,类与对象的关系是_A______。(考点2)A)抽象与具体B)具体与抽象C)部分与整体D)整体与部分二、填空题1、在面向对象方法中,使用已经存在的类定义作为基础建立新的类定义,这样的技术叫做_继承______。(考点2)2、对象的基本特点包括标识惟一性、分类性、多态性、封装性和模块独立性好等5个特点。3、对象根据所接收的消息而做出动作,同样的消息被不同的对象所接收时可能导致完全不同的行为,这种现象称为__多态性__。(考点2)一、选择题1、对软件的特点,下面描述正确的是___B___。(考点1)A)软件是一种物理实体B)软件在运行使用期间不存在老化问题C)软件开发、运行对计算机没有依赖性,不受计算机系统的限制D)软件的生产有一个明显的制作过程2、以下哪项是软件生命周期的主要活动阶段?_A__(考点2)A)需求分析B)软件开发C)软件确认D)软件演进3、从技术观点看,软件设计包括__B_____。(考点3)A)结构设计、数据设计、接口设计、程序设计B)结构设计、数据设计、接口设计、过程设计C)结构设计、数据设计、文档设计、过程设计D)结构设计、数据设计、文档设计、程序设计4、以下哪个是软件测试的目的?_C______(考点5)A)证明程序没有错误B)演示程序的正确性C)发现程序中的错误D)改正程序中的错误5、下哪个测试要对接口测试?_B______。(考点6)A)单元测试B)集成测试C)验收测试D)系统测试6、程序调试的主要任务是__B_____。(考点7)A)检查错误B)改正错误C)发现错误D)以上都不是7、以下哪些不是程序调试的基本步骤?__A_____(考点7)A)分析错误原因B)错误定位C)修改设计代码以排除错误D)回归测试,防止引入新错误解析:程序调试的基本步骤:(1)错误定位。(2)修改设计和代码,以排除错误。(3)进行回归测试,防止引进新的错误。8、在修改错误时应遵循的原则有___D____。(考点7)A)注意修改错误本身而不仅仅是错误的征兆和表现B)修改错误的是源代码而不是目标代码C)遵循在程序设计过程中的各种方法和原则D)以上3个都是解析:修改错误原则:(1)在出现错误的地方,很可能有别的错误;(2)修改错误的一个常见失误是只修改了这个错误的征兆或这个错误的表现,而没有修改错误本身;(3)注意修正一个错误的同时有可能会引入新的错误;(4)修改错误的过程将迫使人们暂时回到程序设计阶段;(5)修改源代码程序,不要改变目标代码。二、填空题1、软件设计是软件工程的重要阶段,是一个把软件需求转换为软件表示的过程。2、模块化是指把一个待开发的软件分解成若干小的简单的部分。(考点3)3、数据流图采用4种符号表示数据存储、数据源点和终点、数据流向和数据加工。一、选择题1、对于数据库系统,负责定义数据库内容,决定存储结构和存取策略及安全授权等工作的是__C_____。(考点1)A)应用程序员B)用户C)数据库管理员D)数据库管理系统的软件设计员2、在数据库管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是___A____。(考点2)A)数据库系统B)文件系统C)人工管理D)数据项管理3、在数据库系统中,当总体逻辑结构改变时,通过改变___D____,使局部逻辑结构不变,从而使建立在局部逻辑结构之上的应用程序也保持不变,称之为数据和程序的逻辑独立性。(考点3)A)应用程序B)逻辑结构和物理结构之间的映射C)存储结构D)局部逻辑结构到总体逻辑结构的映射4、数据库系统依靠__C_____支持数据的独立性。(考点4)A)具有封装机制B)定义完整性约束条件C)模式分级,各级模式之间的映射D)DDL语言和DML语言互相独立5、将E-R图转换到关系模式时,实体与联系都可以表示成__B_____。(考点6)A)属性B)关系C)键D)域解析:E-R图由实体、实体的属性和实体之间的联系3个要素组成,关系模型的逻辑结构是一组关系模式的集合,将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。6、用树形结构来表示实体之间联系的模型称为__B_____。(考点7)A)关系模型B)层次模型C)网状模型D)数据模型解析:满足下面两个条件的基本层次联系的集合为层次模型:(1)有且只有一个结点没有双亲结点,这个结点称为根结点;(2)根以外的其它结点有且仅有一个双亲结点。层次模型的特点:(1)结点的双亲是惟一的;(2)只能直接处理一对多的实体联系;(3)每个记录类型定义一个排序字段,也称为码字段;(4)任何记录值只有按其路径查看时,才能显出它的全部意义;(5)没有一个子女记录值能够脱离双亲记录值而独立存在。7、对数据库中的数据可以进行查询、插入、删除、修改(更新),这是因为数据库管理系统提供了__B_____。A)数据定义功能B)数据操纵功能C)数据维护功能D)数据控制功能解析:数据库管理系统包括如下功能:(1)数据定义功能:DBMS提供数据定义语言(DDL),用户可以通过它方便地对数据库中的数据对象进行定义;(2)数据操纵功能:DBMS还提供数据操作语言(DML),用户可以通过它操纵数据,实现对数据库的基本操作,如查询、插入、删除和修改;(3)数据库的运行管理:数据库在建立、运用和维护时由数据库管理系统统一管理,统一控制以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复;(4)数据库的建立和维护功能:它包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组、功能和性能监视等等。8、设关系R和关系S的属性元数分别是3和4,关系T是R与S的笛卡儿积,即T=R×S,则关系T的属性元数是___A____A)7B)9C)12D)16解析:笛卡儿积的定义是设关系R和S的元数分别是r和s,R和S的笛卡儿积是一个(r+s)元属性的集合,每一个元组的前r个分量来自R的一个元组,后s个分量来自s的一个元组。所以关系T的属性元数是3+4=7。9、下述___A____不属于数据库设计的内容。(考点10)A)数据库管理系统B)数据库概念结构C)数据库逻辑结构D)数据库物理结构二、填空题1、一个数据库的数据模型至少应该包括以下3个组成部分,数据结构、数据操作和数据的完整性约束条件。2、在关系数据模型中,二维表的列称为属性,二维表的行称为元组算法的基本特性:可行性,确定性,有穷性,拥有足够的情报。算法是指解题方案准确而完善的描述。算法复杂度包括时间复杂度和空间复杂度。树;叶子节点最多的个数:2n-1个节点。一共的节点数目2n-1,节点为2的数目为节点为1的数目减一。也就是n2=n0-11、程序设计方法和技术的发展经过了结构化程序设计和面向对象设计两个阶段。2、程序可以没有输入,但是一定要有输出。3、结构化程序设计遵循:自顶向下,逐步求精,模块化,限制使用goto语句(常考)。4面向对象的基本特点:标志唯一性,分类性,多态性,封装性,模块独立性。尤其重要的是多态性和封装性。没有类比性。多态性:统一操作可以是不同对象的行为。同样的消息被不同的对象接收时可导致不同的动作的现象。封装性:从外面看不到对象的内部,只能看到对象的外部特性。类:是具有共同属性、共同方法的对象的集合。描述了属于该对象类型的所有对象的性质,而一个对象则是对应类的一个实例。(常考)消息:是指对象间的相互合作的协作机制,是一个对象与另一个对象之间的传递的消息。继承:是指使用已有的类定义作为基础建立新类的定义技术。继承分为单继承和多继承。单继承只有一个父亲,多继承可以有多个父亲。5、面向对象中,类的实例叫做对象。6、源程序文档化要求程序应该加上注释。注释一般为序言性注释和功能性注释。7、面向对象方法和技术是以对象为核心。软件工程的核心思想是把软件当作一个工程产品来处理。8、软件开发方法包括:分析方法,设计方法,程序设计方法。9、结构化方法包括结构化分析方法,结构化设计方法,结构化编程方法。10、结构化分析方法在软件需求分析阶段的应用。11、软件规格说明书(SRS)是需求分析阶段的最后结果,是软件开发文档重要的文档之一。12软件设计要求高耦合性和低内聚性是考试的重点,要知道什么是耦合,什么是内聚。软件测试和程序调试的区别。软件测试的过程涵盖了整个软件生命周期。目的是为了发现错误而执行程序的过程。13、从是否要执行被测试软件的角度,软件测试分为静态测试和动态测试。14、从功能上划分,软件测试分为白盒测试和黑盒测试。15、白盒测试是检查内部成分,方法有:逻辑覆盖测试方法,基本路径测试。16、黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。方法有:等价类划分法,边界值划分法,错误推测法。17、软件测试的四个步骤。自己默写一遍。18、程序调试的任务:诊断和改正程序中错误,它和软件测试不同,调试主要在开发阶段。19、软件调试方法:强制排错法,回朔法,原因排除法