还剩4页未读,继续阅读
文本内容:
第一部分算法与数据构造(历年比例41%)
1、算法♦问题处理方案的对的而完整的描述称为【算法】算法分析的目的是,分析算法的效率以求改善算法的基本特性是【可行性】、【确定性】、【有穷性】和拥有足够情报♦算法的有穷性是指算法程序的运行时间是有限的♦算法的复杂度是衡量算法好坏的度量,分为【时间复杂度】和【空间复杂度】♦★时间复杂度是指执行算法所需要的【计算工作量】;算法的空间复杂度是指算法执行过程中所需的【存储空间】♦算法时间复杂度或空间复杂度中的一项的值,没有措施推出另一项的值
2、数据构造♦数据构造分为【逻辑构造】和【存储构造】线性构造和非线性构造属于逻辑构造;次序、链式、索引属于存储构造(物理构造)循环队列属于【存储构造】♦数据的存储构造又称为物理构造,是数据的逻辑构造在计算机存储空间中的寄存形式♦一种逻辑构造可以有多种存储构造,且多种存储构造影响数据处理的效率程序执行的效率与数据的存储构造亲密有关♦数据构造分为线性构造和非线性构造,带链的队列属于【线性构造】♦线性表的存储构造重要分为次序存储构造和链式存储构造次序存储构造的存储一定是持续的,链式存储的存储空间不一定是持续的♦有序线性表既可以采用次序存储构造,也可以采用链式存储构造♦队列是一种特殊的线性表,循环队列按照【先进先出】原则组织数据循环队列是队列的【次序】存储构造♦数据的独立性分为【物理独立】性和【逻辑独立性】当数据的存储构造变化时,其逻辑构造可以不变,因此,基于逻辑构造的应用程序可以不用修改,称为【物理独立性】
3、栈和队列♦★栈是一种特殊的线性表,是只能在一端进行插入和删除的线性表,特点是FlLO(First InLastOut)o♦★栈是【先进后出】的线性表;栈具有记忆作用;对栈的插入与删除操作中,不需要变化【栈底指针】假定让元素
1、
2、
3、A、B依次入栈,则出栈的次序是B、A、
3、
2、1♦栈与队列都是线性构造,树是非线性构造支持子程序调用的数据构造是【栈】♦栈与队列的共同点是,都只容许在【端点处】插入和删除元素♦栈只能次序存储的描述是错误的栈可以有【次序和链式】两种存储方式♦★队列是容许在一段插入,在另一端进行删除的线性表,其特点是【先进先出】♦循环队列中元素的个数是由队头指针和队尾指针共同决定循环队列的头指针为front,尾指针为rear,容量为maxSize,则循环队列中元素的个数是[(rear-front+maxSize)mod maxSize]
4、线性链表♦线性链表是线性表的链式存储构造用链表表达线性表的长处是【便于插入和删除操作】♦线性链表的存储空间不一定持续,且个元素的存储次序是任意的
5、查找技术♦对于长度为n的线性表,次序查找最坏状况下需要比较n次(对数据与否有序没有规定)♦次序查找最佳状况下查询次数是1,最坏状况下是n,平均为(l+n)/2♦★对于长度为n的有序线性表,二分法最坏状况下只需要比较log2n次(数据必须有序)♦能用二分法进行查找的是【次序存储的有序线性表】
6、排序技术♦★对于长度为n的线性表,【冒泡排序、迅速排序、简朴插入排序、简朴选择排序】这四种排序方式在最坏状况下的比较次数相似,都是[n(n-l)/2]o堆排序的效率最高,是[nlog2n]★★希尔排序最坏状况下需要o次比较[nl.5]o希尔排序属于【插入类排序法】♦已知数据表A中每个元素距最终位置不远,为节省时间,应当采用的算法是【直接插入排序】选择排序、插入排序、迅速排序、归并排序中对内存规定最大的是【归并排序】第二部分软件工程基础(历年比例27%)
1、软件工程基本概念♦★软件是包括【程序】、【数据】及【有关文档】的完整集合,软件是一种逻辑产品软件工程三要素包括【措施、工具和过程】,其中【过程】支持软件开发的各个环节的控制和管理♦软件工程的关键思想把软件产品当作是一种工程产品来处理,强调在软件开发过程中应用【工程化】原则♦从工程管理角度,软件设计一般分为两步完毕,它们是【概要设计】和【详细设计】★★软件生命周期可分为多种阶段,一般分为【定义】阶段、【开发】阶段和【维护】阶段,编码和测试属于【开发阶段】♦需求分析阶段产生的重要文档是【软件需求规格阐明书】软件需求的规格阐明书应当有完整性、无歧义性、对的性、可验证性、可修改性等特性,其中最重要的是【对的性】
2、构造化分析与设计♦★需求分析的分发有【构造化】需求分析措施,【面向对象】的分析措施DFD是【需求分析阶段】可以使用的工具之一♦构造化分析的常用工具数据流图(DFD);数据字典;鉴定树;鉴定表♦在构造化分析使用数据流图(DFD)时候,运用【数据字典】对其中的图形元素进行确切的解释【数据字典】是构造化分析的关键♦经典的数据流类型有两种,【互换性】和【事务型】♦常见的过程设计工具有图形工具(程序流程图、N-S,PAD,HIPO),表格工具(鉴定表)、语言工具(PDL伪码)♦内聚性是模块内部的联络,耦合性模块之间的互相联络的紧密程度♦★★追求目的是模块的内聚程度要高,模块间的耦合程度要尽量弱即高内聚低耦合♦★程序流程图中带有箭头的线段表达的是【控制流】【平行四边形】代表输入输出,【矩形】代表处理,菱形代表【判断】(注意,数据流图中的箭头,代表【数据流】)o♦符合构造化原则的三种基本控制构造是【次序构造】,【选择构造】和【循环构造】
3、软件测试与维护♦★软件测试的目的是尽量多的发现程序中的错误,不过不包括改正错误(软件调试的目的才是改正错误)♦★软件测试分为静态测试和动态测试,其中【静态测试】是指不执行程序,只对程序文本进行检查软件的动态测试重要包括【黑盒测试】和【白盒测试】♦黑盒测试的措施有等价类划分法,边界值分析法,错误推测法,因果图;白盒测试重要措施有逻辑覆盖、基本途径测试(考试时给出一种措施的名字,你要懂得属于白盒还是黑盒)【白盒测试】的原则之一是保证所测模块的每一种独立途径至少要执行一次白盒测试将程序看做是【途径的集合】♦软件测试一般按照四个环节进行单元测试,集成测试,验收测试和系统测试集成测试应当在【单元测试】之后进行♦在模块测试中,需要为每个被测试的模块设计【驱动模块】和【承接模块】其中,驱动模块的作用是将测试的数据传给被测试的模块,并显示成果♦【测试用例】是为某个目的而编制的一组测试输入、执行条件及预期成果测试用例包括输入值集和【输出值集】♦★诊断和改正程序中的错误称为【程序调试】(或软件调试),一般也称为Debug软件调试可分为【静态调试】和【动态调试】♦在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程称为【软件维护】注意软件维护不属于软件生命周期【开发阶段】的任务第三部分数据库设计基础(历年比例24%)
1、数据库系统基本概念♦数据库设计的主线目的是要处理【数据共享问题】在数据库管理技术发展的三个阶段中,数据共享最佳的是【数据库系统阶段】数据独立性最高的阶段是【数据库系统阶段】♦数据库系统与文献系统的区别是前者具有【特定的数据模型】♦数据库系统常见的数据模型有层次模型,网络模型和【关系模型】♦★数据库系统的关键是【数据库管理系统】♦DBS包括DB和DBMS完整讲,数据库系统DBS由数据库DB、数据库管理系统DBMS、数据库管理员DBA、硬件平台和软件平台构成♦数据库应用系统的关键是【数据库维护】♦数据库系统的三级模式构造内模式处在最底层,它反应了数据在计算机物理构造中的实际存储形式;概念模式处在中层,它放映了设计者的数据全局逻辑规定,与软硬件环境无关;外模式处在最外层,它反应了顾客对数据的规定♦在数据库系统中,顾客所见的数据模式为【外模式】♦数据库设计的四个阶段是需求分析、概念设计、【逻辑设计】和【物理设计】将E-R图转换成关系数据模型属于【逻辑设计】阶段♦数据库管理系统提供的数据语言数据定义语言DDL,数据操纵语言DML,数据控制语言DCLSQL的全称是Structured QueryLanguage,中文意思是【构造化查询语言】
2、数据模型♦★★实体之间的联络用树形构造来表达的模型是【层次模型】采用二维表来表达的是【关系模型】在关系数据库中,把数据表到达二维表,每一种二维表称为【关系】♦在关系数据库中,用来表达实体之间联络的是【关系】♦将E-R图转化为关系模式时,实体和联络都可以表达为【关系】♦★★确定两个实体之间是一对
一、一对多、还是多对多的措施是选择实体A,看与否有多种实体B与之对应;选择实体B,看与否有多种实体A与之对应例如在“学生学习课程”中的两个实体,学生与课程,一种学生可以学习多门课程,一门课程可以被多种学生学习,因此两者是一种多对多的关系♦★在E-R图中,用来表达实体的图形是【矩形】用来表达【属性】的图形是椭圆用菱形来表达联络♦★一种关系表的行称为【元组】或记录,列称为【属性】或字段♦在二维表中,元组的【分量】不能再分为更小的数据线♦为了建立一种关系,首先要构造数据的【逻辑关系】
3、关系代数♦在交、差、投影中,不变化关系表中的属性个数不过能减少元组个数的是【交】运算★★★关系运算的规则下面简介的7种运算,考试的时候一般会考察一利I都要背1并运算RUS并运算是两个表行上的合并,反复的行只出现一次2交运算RAS交运算是选出两个表中的公共行3差运算R-S差运算是从表R中,删除R与S中都出现过的行4选择运算选出二维表【部分的行】称为选择运算5投影运算选出二维表【部分的列】称为投影运算6连接运算根据两个表的共同属性的值,将它们连接起来,无需清除共同属性假如去掉了反复属性,就称为自然连接7笛卡尔乘积将关系R中的每一行依次与关系S中的每一行进行排列组合注意除了选择运算和投影运算操作的是单个表之外,其他的元算都需要两个表两个关系其中,并运算、交运算和差运算规定两个关系R与S要具有相似个数的属性第四部分程序设计基础历年比例8%★★程序设计总体原则清晰第
一、效率第二♦良好程序风格包括源程序要文档化,数听阐明的次序要规范化,防止滥用goto语句♦构造化程序设计的关键是算法,面向对象的关键是对象(类)♦★构造化程序设计的基本原则是【自顶向下】、【逐渐求精】、【模块化】、【限制使用Got语句】♦★类是一组具有相似属性和相似操作的对象的集合面向对象模型中,最基本的概念是对象和【类】在面向对象措施中,类的实例称为【对象】,实现信息隐藏是通过对象的【封装】♦★面向对象的特性包括抽象,【封装】、【继承】、【多态】♦继承提高了软件的【可重用性】♦对象是【属性和措施】的封装体,对象间的通讯靠【消息传递】,操作是对象的动态性属性。
个人认证
优秀文档
获得点赞 0