还剩4页未读,继续阅读
文本内容:
第一章数据构造与算法算法、算法是指解题方案的精确而完整的描述算法不等于程序,也不等计算机措施,程序的编制不也许优于算法1的设计、算法的基本特性是一组严谨地定义运算次序的规则,每一种规则都是有效的,是明确的,本次序将在有限的2次数下终止特性包括()可行性;()确定性()有穷性()拥有足够的情报
1234、算法的基本要素一是对数据对象的运算和操作;二是算法的控制构造
3、指令系统一种计算机系统能执行的所有指令的集合
4、基本运算包括算术运算、逻辑运算、关系运算、数据传播
5、算法的控制构造次序构造、选择构造、循环构造
6、算法基本设计措施列举法、归纳法、递推、递归、减斗递推技术、回溯法
7、算法复杂度算法时间复杂度和算法空间复杂度
8、算法时间复杂度是指执行算法所需要的计算工作量
9、算法空间复杂度是指执行这个算法所需要的内存空间10数据构造的基本基本概念、数据构造研究的三个方面()数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑构造;11()在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储构造;()对多种数据构造进行23的运算数据构造是指互相有关联的数据元素的集合、数据的逻辑构造包括()表达数据元素的信息;()表达各数据元素之间的前后件关系数据的存储构造212有次序、链接、索引等、线性构造条件()有且只有一种根结点;()每一种结点最多有一种前件,也最多有一种后件非线性构312造不满足线性构造条件的数据构造线性表及另一方面序存储构造、线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的在复杂1线性表中,由若干项数据元素构成的数据元素称为记录,而由多种记录构成的线性表又称为文献、非空线性表的构造特性()且只有一种根结点它无前件;()有且只有一种终端结点它无后件;()21al,2an,3除根结点与终端结点外,其他所有结点有且只有一种前件,也有且只有一种后件结点个数称为线性表的长度,n当时,称为空表n=
0、线性表的次序存储构造具有如下两个基本特点()线性表中所有元素的所占的存储空间是持续的;()线312性表中各数据元素在存储空间中是按逻辑次序依次寄存的、次序表的运算插入、删除4栈和队列、栈是限定在一端进行插入与删除的线性表,容许插入与删除的一端称为栈顶,不容许插入与删除的另一端称为1栈底栈按照“先进后出()或“后进先出”()组织数据,栈具有记忆作用用表达栈顶位置,FILO LIFOtop用表达栈底bottom、栈的基本运算()插入元素称为入栈运算;()删除元素称为退栈运算;()读栈顶元素是将栈顶元素2123赋给一种指定的变量,此时指针无变化、队列是指容许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表指针指向队尾,3Rear front指针指向队头、队列是“先进行出()或“后进后出”()的线性表4FIFO LILO线性链表、数据构造中的每一种结点对应于一种存储单元,这种存储单元称为存储结点,简称结点
1、结点由两部分构成()用于存储数据元素值,称为数据域;()用于寄存指针,称为指针域,用于指向前212一种或后一种结点、在链式存储构造中,存储数据构造的存储空间可以不持续,各数据结点的存储次序与数据元素之间的逻辑关系3可以不一致,而数据元素之间的逻辑关系是由指针域来确定的、链式存储方式即可用于表达线性构造,也可用于表达非线性构造
4、线性链表的基本运算查找、插入、删除5树与二叉树、树是一种简朴的非线性构造,所有元素之间具有明显的层次特性
1、二叉树的特点()非空二叉树只有一种根结点;()每一种结点最多有两棵子树,且分别称为该结点的左212子树与右子树、二叉树的基本性质3()在二叉树的第层上,最多有()个结点;()深度为的二叉树最多有个结点;1k2k-l kNl2m2m-l()度为的结点(即叶子结点)总是比度为的结点多一种;302()具有个结点的二叉树,其深度至少为[]其中[]表达取的整数部分;4n Iog2n+L Iog2n Iog2n()具有个结点的完全叉树的深度为[];5n Iog2n+1()设完全二叉树共有个结点假如从根结点开始,按层序(每一层从左到右)用自然数给结点进行6n1,2,….n编号()有如下结论k=l,2….n,
①若匕则该结点为根结点,它没有父结点;若则该结点的父结点编号为(在);
②若则编号为1,kl,INT k2kWn,k的结点的左子结点编号为;否则该结点无左子结点(也无右子结点);
③若则编号为的结点的右子结2k2k+lWn,k点编号为;否则该结点无右子结点2k+l满二叉树是指除最终一层外,每一层上的所有结点有两个子结点,则层上有;个结点深度为的满二叉树有k2k m个结点2m.i完全二叉树是指除最终一层外,每一层上的结点数均到达最大值,在最终一层上只缺乏右边的若干结点二叉树存储构造采用链式存储构造,对于满二叉树与完全二叉树可以按层序进行次序存储、二叉树的遍历()前序遍历()首先访问根结点,然后遍历左子树,最终遍历右子树;()中序遍历41DLR,2()首先遍历左子树,然后访问根结点,最终遍历右子树;()后序遍历()首先遍历左子树,然后访LDR,3LRD问遍历右子树,最终访问根结点查找技术次序查找的使用状况()线性表为无序表;()表采用链式存储构造12二分法查找只合用于次序存储的有序表,对于长度为的有序线性表,最坏状况只需比较次n log2n排序技术、排序是指将一种无序序列整顿成按值非递减次序排列的有序序列1互换类排序法()冒泡排序法,需要比较的次数为();()迅速排序法1n n-l/22插入类排序法()简朴插入排序法,最坏状况需要()〃次比较;()希尔排序法,最坏状况需要()1n n-l20nl.5次比较(为算法的时间复杂度)选择类排序法()简朴选择排序法,最坏状况需要()次比较;()堆排序法,最坏状况需要()1n n-l/22O nlog2n次比较(为算法的时间复杂度)第二章程序设计基础程序设计设计措施和风格怎样形成良好的程序设计风格、源程序文档化、数听阐明的措施、语句的构造、输入和输出1234注释分序言性注释和功能性注释,语句构造清晰第
一、效率第二构造化程序设计、构造化程序设计措施的四条原则是.自顶向下;,逐渐求精;.模块化;.限制使用语句11234goto、构造化程序的基本构造和特点2()次序构造一种简朴的程序设计,最基本、最常用的构造;1()选择构造又称分支构造,包括简朴选择和多分支选择构造,可根据条件,判断应当选择哪一条分支来执2行对应的语句序列;()循环构造可根据给定条件,判断与否需要反复执行某一相似程序段面向对象的程序设计
32.3面向对象的程序设计以年代末挪威奥斯陆大学和挪威计算机中心研制的语言为标志60SIMULA、面向对象措施的长处3()与人类习惯的思维措施一致;()稳定性好;()可重用性好;123()易于开发大型软件产品;()可维护性好
45、对象是面向对象措施中最基本的概念,可以用来表达客观世界中的任何实体,对象是实体的抽象4面向对象的程序设计措施中的对象是系统中用来描述客观事物的一种实体,是构成系统的一种基本单位,由一组表达其静态特性的属性和它可执行的一组操作构成、属性即对象所包括的信息,操作描述了对象执行的功能,操作也称为措施或服务
5、对象的基本特点()标识惟一性;()分类性;()多态性;()封装性;()模块独立性好
612345、类是指具有共同属性、共同措施的对象的集合因此类是对象的抽象,对象是对应类的一种实例消息是一种7实例与另一种实例之间传递的信息、消息的构成包括()接受消息的对象的名称;()消息标识符,也称消息名;()零个或多种参数
8123、继承是指可以直接获得已经有的性质和特性,而不必反复定义他们9继承分单继承和多重继承单继承指一种类只容许有一种父类,多重继承指一种类容许有多种父类多态性是指同样的消息被不一样的对象接受时可导致完全不一样的行动的现象第三章软件工程基础软件工程基本概念、计算机软件是包括程序、数据及有关文档的完整集合
1、软件的特点包括2()软件是一种逻辑实体;1()软件的生产与硬件不一样,它没有明显的制作过程;2()软件在运行、有效期间不存在磨损、老化问题;3()软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;4()软件复杂性高,成本昂贵;5()软件开发波及诸多的社会原因
6、软件按功能分为应用软件、系统软件、支撑软件(或工具软件)软件危机重要表目前成本、质量、生产率等3问题、软件工程是应用于计算机软件的定义、开发和维护的一整套措施、工具、文档、实践原则和工序
4、软件工程包括个要素措施、工具和过程
53、软件工程过程是把软件转化为输出的一组彼此有关的资源和活动,包括种基本活动()软件规641P——格阐明;()软件开发;()软件确认;()软件演进2D——3C——4A——、软件周期软件产品从提出、实现、使用维护到停止使用退伍的过程
7、软件生命周期三个阶段:软件定义、软件开发、运行维护,重要活动阶段是()可行性研究与计划制定;()812需求分析;()软件设计;()软件实现;()软件测试;()运行和维护
3456、软件工程的目的和与原则9目的在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足顾客需求的产品基本目的付出较低的开发成本;到达规定的软件功能;获得很好的软件性能;开发软件易于移植;需要较低的费用;能准时完毕开发,及时交付使用基本原则抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性、软件工程的理论和技术性研究的内容重要包括软件开发技术和软件工程管理
10、软件开发技术包括软件开发措施学、开发过程、开发工具和软件工程环境11构造化分析措施、构造化措施的关键和基础是构造化程序设计理论
1、需求分析措施有()构造化需求分析措施;()面向对象的分析的措施从需求分析建立的模型的特性来212分静态分析和动态分析、构造化分析措施的实质着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典3为重要工具,建立系统的逻辑模型、构造化分析的常用工具()数据流图;()数据字典;()鉴定树;()鉴定表41234数据流图描述数据处理过程的工具,是需求理解的逻辑模型的图形表达,它直接支持系统功能建模数据字典对所有与系统有关的数据元素的一种有组织的列表,以及精确的、严格的定义,使得顾客和系统分析员对于输入、输出、存储成分和中间计算成果有共同的理解鉴定树从问题定义的文字描述中分清哪些是鉴定的条件,哪些是鉴定的结论,根据描述材料中的连接词找出鉴定条件之间的附属关系、并列关系、选择关系,根据它们构造鉴定树鉴定表与鉴定树相似,当数据流图中的加工要依赖于多种逻辑条件的取值,即完毕该加工的一组动作是由于某一组条件取值的组合而引起的,使用鉴定表描述比较合适数据字典是构造化分析的关键、软件需求规格阐明书的特点()对的性;()无岐义性;()完整性;()可验证性;()一致性;512345()可理解性;()可追踪性67构造化设计措施、软件设计的基本目的是用比较抽象概括的方式确定目的系统怎样完毕预定的任务,软件设计是确定系统的物理1模型软件设计是开发阶段最重要的环节,是将需求精确地转化为完整的软件产品或系统的唯一途径从技术观点来看,软件设计包括软件构造设计、数据设计、接口设计、过程设计构造设计定义软件系统各重要部件之间的关系数据设计将分析时创立的模型转化为数据构造的定义、接口设计描述软件内部、软件和协作系统之间以及软件与人之间怎样通信过程设计把系统构造部件转换2成软件的过程描述从工程管理角度来看概要设计和详细设计软件设计的一般过程软件设计是一种迭代的过程;先进行高层次的构造设计;后进行低层次的过程设计;穿插进行数据设计和接口设计、衡量软件模块独立性使用耦合性和内聚性两个定性的度量原则在程序构造中各模块的内聚性越强,则耦合性3越弱优秀软件应高内聚,低耦合、软件概要设计的基本任务是()设计软件系统构造;()数据构造及数据库设计;()编写概要设计文4123档;()概要设计文档评审
4、模块用一种矩形表达,箭头表达模块间的调用关系5在构造图中还可以用带注释的箭头表达模块调用过程中来回传递的信息还可用带实心圆的箭头表达传递的是控制信息,空心圆箭心表达传递的是数据、构造图的基本形式基本形式、次序形式、反复形式、选择形式
6、构造图有四种模块类型传入模块、传出模块、变换模块和协调模块
7、经典的数据流类型有两种变换型和事务型8变换型系统构造图由输入、中心变换、输出三部分构成事务型数据流的特点是接受一项事务,根据事务处理的特点和性质,选择分派一种合适的处理单元,然后给出成果、常见的过程设计工具有图形工具(程序流程图)、表格工具(鉴定表)、语言工具()9PDL o软件测试、软件测试定义使用人工或自动手段来运行或测定某个系统的过程,其目的在于检查它与否满足规定的需求或1是弄清预期成果与实际成果之间的差异、软件测试的目的发现错误而执行程序的过程
2、软件测试措施静态测试和动态测试
3、静态测试包括代码检查、静态构造分析、代码质量度量不实际运行软件,重要通过人工进行
4、动态测试是基本计算机的测试,重要包括白盒测试措施和黑盒测试措施5白盒测试在程序内部进行,重要用于完毕软件内部作的验证重要措施有逻辑覆盖、基本基途径测试CAO黑盒测试重要诊断功能不对或遗漏、界面错误、数据构造或外部数据库访问错误、性能错误、初始化和终止条件错,用于软件确认重要措施有等价类划分法、边界值分析法、错误推测法、因果图等、软件测试过程一般按个环节进行单元测试、集成测试、验收测试(确认测试)和系统测试64程序的调试、程序调试的任务是诊断和改正程序中的错误,重要在开发阶段进行
1、程序调试的基本环节()错误定位;()修改设计和代码,以排除错误;()进行回归测试,防止引进2123新的错误、软件调试可分表静态调试和动态调试静态调试重要是指通过人的思维来分析源程序代码和排错,是重要的设3计手段,而动态调试是辅助静态调试重要调试措施有()强行排错法;()回溯法;()原因排除法123第四章数据库设计基础数据库系统的基本概念、数据实际上就是描述事物的符号记录1数据的特点有一定的构造,有型与值之分,如整型、实型、字符型等而数据的值给出了符合定型的值,如整型值15o、数据库是数据的集合,具有统一的构造形式并寄存于统一的存储介质内,是多种应用数据的集成,并可被各2个应用程序共享数据库寄存数据是按数据所提供的数据模式寄存的,具有集成与共享的特点、数据库管理系统一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,3是数据库的关键、数据库管理系统功能4()数据模式定义即为数据库构建其数据框架;1()数据存取的物理构建为数据模式的物理存取与构建提供有效的存取措施与手段;2()数据操纵为顾客使用数据库的数据提供以便,如查询、插入、修改、删除等以及简朴的算术运算及记录;3()数据的完整性、安生性定义与检查;4()数据库的并发控制与故障恢复;5()数据的服务如拷贝、转存、重组、性能监测、分析等6为完毕以上六个功能,数据库管理系统提供如下的数据语言()数据定义语言负责数据的模式定义与数据的1物理存取构建;()数据操纵语言负责数据的操纵,如查询与增、册改等;()数据控制语言负责数据2h3完整性、安全性的定义与检查以及并发控制、故障恢复等、数据语言按其使用方式具有两种构造形式交互式命令(又称自含型或自主型语言)宿主型语言(一般可嵌入5某些宿主语言中)、数据库系统由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软6件平台(软件)五个部分构成的运行实体、数据库应用系统由数据库系统、应用软件及应用界面三者构成
7、文献系统阶段提供了简朴的数据共享与数据管理能力,不过它无法提供完整的、统一的、管理和数据共享的8能力、层次数据库与网状数据库系统阶段为统一与共享数据提供了有力支撑关系数据库系统阶段
9、数据库系统的基本特点数据的集成性、数据的高共享性与低冗余性、数据独立性(物理独立性与逻辑独立10性)、数据统一管理与控制数据库系统的三级模式()概念模式数据库系统中全局数据逻辑构造的描述,全体顾客公共数据视图;1()外模式也称子模式与顾客模式是顾客的数据视图,也就是顾客所见到的数据模式;2()内模式又称物理模式,它给出了数据库物理存储构造与物理存取措施
3、数据库系统的两级映射()概念模式到内模式的映射;()外模式到概念模式的映射1112数据模型、数据模型的概念是数据特性的抽象,从抽象层次上描述了系统的静态特性、动态行为和约束条件,为数据库1系统的信息表与操作提供一种抽象的框架、描述了数据构造、数据操作及数据约束
2、模型的基本概念()实体现实世界中的事物;()属性事物的特性;()联络现实世界中事物3E-R123间的关系实体集的关系有一对
一、一对多、多对多的联络、模型三个基本概念之间的联接关系实体是概念世界中的基本单位,属性有属性域,每个实体可取属性域4E-R内的值一种实体的所有属性值叫元组、模型的图示法()实体集表达法;()属性表法;()联络表达法5E-R
123、层次模型的基本构造是树形构造,具有如下特点()每棵树有且仅有一种无双亲结点,称为根;()树中612除根外所有结点有且仅有一种双亲、从图论上看,网状模型是一种不加任何条件限制的无向图
7、关系模型采用二维表来表达,简称表,由表框架及表的元组构成一种二维表就是一种关系8在二维表中凡能唯一标识元组的最小属性称为键或码从所有侯选健中选用一种作为顾客使用的键称主键表中的某属性是某表的键,则称该属性集为的外键或外码A BA、关系中的数据约束9()实体完整性约束约束关系的主键中属性值不能为空值;()参照完全性约束是关系之间的基本约束;12()顾客定义的完整性约束它反应了详细应用中数据的语义规定3关系代数、关系数据库系统的特点之一是它建立在数据理论的基础之上,有诸多数据理论可以表达关系模型的数据操作,1其中最为著名的是关系代数与关系演算、关系模型的基本运算()插入()删除⑶修改()查询(包括投影、选择、笛卡尔积运算)2124数据库设计与管理数据库设计是数据应用的关键、数据库设计的两种措施()面向数据以信息需求为主,兼顾处理需求;()面向过程以处理需求为主,112兼顾信息需求、数据库的生命周期需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运2行阶段、深入修改阶段、需求分析常用构造析措施和面向对象的措施构造化分析(简称)措施用自顶向下、逐层分解的方式分析系3SA统用数据流图体现数据和处理过程的关系对数据库设计来讲,数据字典是进行详细的数据搜集和数据分析所获得的重要成果数据字典是各类数据描述的集合,包括个部分数据项、数据构造、数据流(可以是数据项,5也可以是数据构造)、数据存储、处理过程、数据库概念设计的目的是分析数据内在语义关系设计的措施有两种()集中式模式设计法(合用于小型或41并不复杂的单位或部门);()视图集成设计法
2、设计措施模型与视图集成5E.R视图设计一般有三种设计次序自顶向下、由底向上、由内向外视图集成的几种冲突命名冲突、概念冲突、域冲突、约束冲突关系视图设计关系视图的设计又称外模式设计、关系视图的重要作用()提供数据逻辑独立性;()能适应顾客对数据的不一样需求;()有一定数据6123保密功能、数据库的物理设计重要目的是对数据内部物理构造作调整并选择合理的存取途径,以提高数据库访问速度有效7运用存储空间、数据库管理的内容8()数据库的建立1()数据库的调整2()数据库的重组3()数据库安全性与完整性控制4()数据库的故障恢复5()数据库监控6。
个人认证
优秀文档
获得点赞 0