还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
第一章数据构造与算法.算法算法是指解题方案的准确而完整的描述算法不等于程序,也不等于计算方法程序的编制不可能优于算法的设计算法的基本特征是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止特征包括1可行性;2确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;3有穷性,算法必须能在有限的时间内做完即能在执行有限个步骤后终止包括合理的执行时间的含义;4拥有足够的情报算法的基本要素一是对数据对象的运算和操作;二是算法的控制构造算法的三种基本控制构造顺序构造、选择构造、循环构造算法复杂度包括算法时间复杂度和算法空间复杂度算法时间复杂度是指执行算法所需要的计算工作量算法空间复杂度是指执行这个算法所需要的内存空间案例
0.算法的有穷性是指DA.算法只能被有限的用户使用B.算法程序的长度是有限的C.算法程序所处理的数据量是有限的D.算法程序的运行时间是有限的案例
1.以下表达中正确的选项是BGA.一个算法的时间复杂度大,则其空间复杂度必定小B.算法的时间复杂度与空间复杂度没有直接关系C.一个算法的空间复杂度大,则其时间复杂度也必定大D.算法的时间复杂度与空间复杂度一定相关E.算法的效率只与问题的规模有关,而与数据的存储构造无关F.数据的逻辑构造与存储构造是一一对应的G.算法的时间复杂度是指执行算法所需要的计算工作量.栈及其基本运算栈是限定在一端进展插入与删除运算的线性表在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底栈顶元素总是最后被插入的元素,栈底元素总是最先被插入的元素即栈是按照“先进后出〃或“后进先出〃的原则组织数据的栈的基本运算1插入元素称为入栈运算;2删除元素称为退栈运算;案例
2.一个栈的初始状态为空先将元素123ABC依次入栈,然后再依次出栈,则元素出栈的顺序是CBA
321.队列及其基本运算队列是指允许在一端(队尾)进入插入,而在另一端(队头)进展删除的线性表尾指针(Rear)指向队尾元素,头指针(front)指向排头元素的前一个位置(队头)队列是“先进先出〃或“后进后出〃的线性表队列运算包括1)入队运算:从队尾插入一个元素;2)退队运算:从队头删除一个元素案例
3.以下与队列构造有关联的是(A)A.先到先服务的作业调度B.函数的递归调用C.数组元素的引用D.多重循环的执行.循环队列及其运算所谓循环队列,就是将队列存储空间的最后•个位置绕到第•个位置,形成逻辑上的环状空间,供队列循环使用在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置,因此从头指针front指向的后一个位置直到队尾指针rear指向的位置之间,所有的元素均为队列中的元素循环队歹U中元素的个数=rear-front案例
4.以下表达中正确的选项是(B)A.循环队列有队头和队尾两个指针,因此循环队列是非线性构造B.循环队列中元素的个数是由队头指针和队尾指针共同决定C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况案例
5.设循环队列的存储空间为Q(1:35)初始状态为front=rear=
35.现经过一系列入队与退队运算后,front=15rear=15则循环队歹U中的元素个数为(A)A.0或35B.15C.20D.16解析:循环队列中的元素个数的计算方法是队尾-队头.如果大于0rear-front即为元素的个数.如果小于0rear-fron七+空间容量即为元素个数.如果等于0元素个数为0或空间容量.二叉树及其基本性质二叉树是一种非线性构造,它具有以下两个特点1)非空二叉树只有一个根结点;2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树根据二叉树的概念可知,二叉树的度可以为0(叶结点)、1(只有一棵子树)或2(有2棵子树)二叉树考点
1.在任《二棵三叉树中,度数为0的结点(即叶子结点)总比度为2的结点多一个叶子数(度为0)=度为2结点数+1二叉树考点2:二叉树的深度即二叉树的层次数二叉树考点3:总结点数二度为2的结点数+度为1的结点数+度为0的结点数叶子案例
6.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为假设根结点在第1层o7案例
7.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为o16_解析叶子结点数=度为2而结点数+15=+1求得度为2的结点数为4总结点数=度为2的结点数+度为1的结点数+度为0的结点数叶子25=4++5求得度为工的结点数为16二叉树考点4:二叉树的遍历二叉树的遍历是指不重复地访问二叉树中的所有结点二叉树的遍历可以分为以下三种1前序遍历假设二叉树为空,则完毕返回否则首先访问根结点,然后遍历左子树,最后遍历右子树2中序遍历假设二叉树为空,则完毕返回否则首先遍历左子树,然后访问根结点,最后遍历右子树3后序遍历假设二叉树为空,则完毕返回否则首先遍历左子树,然后遍历右子树,最后访问根结点案例
8.对以下二叉树ECFXZ1置只取决于自己的序号,元素之间的全由nn0个数据元素组成的一个有寤一个外,有且只有一个前件,除了最中数据元素的个数称为线性表的长度线性表的顺序存储构造具有两个基本特点:1线性表中所有元素所占的存储空间是连续的;2线性表中各数据元素在存储空间中是按逻辑顺序依次存放的由此可以看出,在线性表的顺序存储构造中,其前后件两个元素在存储空间中是紧邻的,且前件元素一定存储在后件元素的前面,可以通过计算机直接确定第i个结点的存储地址顺序表的插入、删除运算线性表的链式存储构造线性链表数据构造中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点结点由两局部组成1用于存储数据元素值,称为数据域;2用于存放指针,称为指针域,用于指向前一个或后一个结点在链式存储构造中,存储数据构造的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的链式存储方式既可用于表示线性构造,也可用于表示非线性构造线性构造条件:1有旦只有一个根结占・2每一个结点最多看二了前件,也最多有一个后件非线性构造不满足线性构造条件的数据构造案例
9.以下表达中正确的选项是AA.循环队列是队列的一种顺序存储构造B.循环队列是非线性构造C.循环队列是一种逻辑构造D.循环队列是队列的一种链式存储构造解析常见的线性构造有队列、栈非线性构造有:树、二叉树案例
10.以下表达中正确的选项是CEA.线性表链式存储构造与顺序存储构造所需要的存储空间是一样的不一样B.线性表链式存储构造所需要的存储空间一般要少于顺序存储构造多于C.线性表链式存储构造所需要的存储空间一般要多于顺序存储构造D.线性表链式存储构造与顺序存储构造的存储空间都是连续的E.线性表链式存储构造的存储空间可以是连续的,也可以是不连续的排序排序是指将一个无序序列整理成按值非递减顺序排列的有序序列,即是将无序的记录序列调整为有序记录序列的一种操作冒泡排序、快速排序、直接插入排序假设线性表的长度为n则在最坏情况下需要对比的次数为nn-1/2堆排序在最坏情况下需要对比的次数为nloq2n.顺序查找和二分查找顺序查找又称为顺序搜索顺序查找一般是指在线性表中查找指定的元素下面两种情况.如果线性表为无序表即表中元素排序是无序的,则不管是顺序存储构造还是链式存储构造,都只能用顺序查找.即使是有序线性表,如果采用链式存储构造,也只能用于顺序查找二分查找只适用于顺序存储的有序表在此所说的有序表是指线性表中的元素按值非递减排序即从小到大,但允许相邻元素值相等当有序线性表为顺序存储时才能采用二分查找,对于长度为n的有序线性表,在最坏情况下二分查找只需要对比工qzn次,而顺序查找需要对比n次案例
11.对长度为n的线性表排序,在最坏情况下,对比次数不是nn-l/2的排序方法是CA.快速排序B.冒泡排序C.堆排序D.直接插入排序案例
12.在长度为n的有序线性表中进展二分查找,最坏情况下需要对比的次数是AA.Olog2nB.0nlog2nC.0n2D.0n案例
13.对长度为10的线性表进展冒泡排序,最坏情况下需要对比的次BA.9B.45C.90D.10第二章软件工程基本概念.计算机软件是包括程庄、数据及相关文档的完整集合软件按功能分为应用软件、系统软件、支撑软件或工具软件软件危机主要表现在成本、质量、生产率等问题软件周期软件产品从提出、实现、使用维护到停顿使用退役的过程软件生命周期三个阶段软件定义、软件开发、运行维护,主要活动阶段是1可行性研究与方案制定;2需求分析;3软件设计;4软件实现;5软件测试;6运行和维护衡量软件模块独立性使用耦合性和内聚性两个定性的度量标准在程序构造中各模块的内聚性越强,则耦合性越弱优秀软件应高内聚,低耦告内聚性是指一个模块内部各个元素间彼此结合的严密程度耦合性是指模块间相互连接的严密程度.软件测试软件测试的目的发现错误而执行程序的过程软件测试方法静态测试和动态测试静态测试包括代码检查、静态构造分析、代码质量度量不实际运行软件,主要通过人工进展动态测试是基本计算机的测试,主要包括白盒测试方法和黑盒测试方法白盒测试在程序内部进展主要用于完成软件内部CAO作的验证主要方法有逻辑覆盖、基本基路径测试黑盒测试在黑盒测试方法中设计测试用例的主要根据是程序外部功能主要方法有等价类划分法、边界值分析法、错误推测法、因果图等软件测试过程一般按4个步骤进展单元测试、集成测试、验收测试(确认测述)和系统测试.程序的调试程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进展案例
14.软件详细设计产生的图如下(C)该图是A.PAD图B.E-R图C.程序流程图D.N-S图第三章数据库设计根基.数据库系统的基本概念数据库管理系统一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,是数据库的核心
(1)数据定义语言负责数据的模式定义与数据的物理存取构建;
(2)数据操纵语言负责数据的操纵,如查询与增、册人改等;
(3)数据控制语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等数据语言按其使用方式具有两种构造形式交互式命令(又称自含型或自主型语言)宿主型语言(一般可嵌入某些宿主语言中)数据库管理员对数据库进展规划、设计、维护、监视等的专业管理人员数据库系统由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个局部构成的运行实体数据库应用系统由数据库系统、应用软件及应用界面三者组成文件系统阶段提供了简单的数据共享与数据管理能力,但是它无法提供完整的、统一的、管理和数据共享的能力层次数据库与网状数据库系统阶段为统一与共享数据提供了有力支撑关系数据库系统阶段数据库系统的基本特点数据的集成性、数据的高共享性与低冗余性、数据独立性(物理独立性与逻辑独立性)、数据统一管理与控制数据库系统的三级模式
(1)概念模式数据库系统中全局数据逻辑构造的描述,全体用户公共数据视图;石’)外模式也称子模式与用户模式是用户的数据视图,也就是用户所见到的数据模式;
(3)内模式又称物理模式,它给出了数据库物理存储构造与物理存取方法数据模型数据模型的概念是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架描述了数据构造、数据操作及数据约束E-R模型的基本概念
(1)实体现实世界中的事物;
(2)属性事物的特性;
(3)联系现实世界中事物间的关系实体集的关系有一对
一、一对多、多对多的联系案例
15.假设实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是o一间宿舍可住多个学生,则实体宿舍和学生之间的联系是O(一对多)(一对多)E-R模型三个基本概念之间的联接关系实体是概念世界中的基本单位,属性有属性域,每个实体可取属性域内的值一个实体的所有属性值叫元组E-R模型的图示法
(1)实体集表示法;
(2)属性表法;
(3)联系表示法在二维表中表能唯一标识元组的最小属性称为键或码从所有侯选健中选取一个作为用户使用的键称主键表A中的某属性是某表B的键,则称该属性集为A的外键或外码系i_|j的j娄^幺勺.(J)实体完整性约束约束关系的主键中属性值不能为空值;
(2)参照完全性约束是关系之间的基本约束;
(3)用户定义的完整性约束它反映了具体应用中数据的语义要求.关系代数关系数据库系统的特点之一是它建设在数据理论的根基之上,有很多数据理论可以表示关系模型的数据操作,其中最为著名的是关系代数与关系演算关系模型的基本运算
(1)插入
(2)删除
(3)修改
(4)查询(包括投影、选择、笛卡尔积运算)案例
16.有三个关系R、S和T如下A则由关系R和S得到关系T的操作是A.自然连接B.并C.投影案例
17.有三个关系RS和T如下A则由关系R和S得到关系T的操作是A.并B.交C.投影案例
18.有三个关系RS和T如下D则由关系R和S得到关系T的操作是A.选择B.交C.并D.差案例
19.有两个关系R和S如下A则由关系R得到关系S的操作是A.选择B.并C.自然连接案例
20.有两个关系RS如下:C由关系R通过运算得到关系S则所使用的运算为A.连接B.插入C.投影D.选择第四章程序设计根基
1.面向对象的程序设计和构造化程序设计面向对象方法的主要优点1与人类习惯的思维方法一致;2稳定性好;3可重用注释1性好;4易于开发大型软件产品;5可维护性好对象是面向对象方法中最基本的概念,可以用来表示客观世界中的任何实体,对象是实体的抽象面向对象的程序设计方法中的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性和它可执行的一组操作组成对象是属性和方法的封装住属性即对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改变操作描述了对象执行的功能,操作也称为方法或服务操作是对象的动态属性一个对象由对象名、属性和操作三局部组成对象的基本特点标识惟一性,分类性,多态性,封装性,模块独立性好1标识惟•性指对象是可区分的并R由对象的内在本质可区分而不是通过描述来区分2分类性指可以将具有一样属性的操作的对象抽象成类3多态性揖同一个操作可以是不同对象的行为4封装性信息隐蔽是通过对象的封装性来实现的5模块独立性好消息是一个实例与另一个实例之间传递的信息在面向对象方法中一个对象请求另一个对象为其服务的方式是通过发送消Mo继承是指能够直接获得已有的性质和特征而不必重复定义他们继承分单继承和多重继承单继承指一个类只允许有一个父类,多重继承指一个类允许有多个父类类的继承性这类之间共享属性和操作的机制它提高了软件的可重用性多态性是指同样的消息被不同的对象承受时可导致完全不同的行动的现象构造化程序设计面向过程的程序设计方法构造化程序设计方法的主要原则可以概括为白顶向下,逐步求精,模块化构造化程序的基本构造顺序构造选择构造重复构造限制使用qot语句案例
21.构造化程序设计的基本原则不包括BEA.模块化B.多态性C.逐步求精D.自顶向下E.可封装案例
22.在面向对象方法中,不属于〃对象〃基本特点的是DA.多态性B.分类性C.标识唯一性D.一致性。