二级试题.docx
《二级试题.docx》由会员分享,可在线阅读,更多相关《二级试题.docx(17页珍藏版)》请在冰豆网上搜索。
二级试题
第一章数据结构与算法
一、内容要点
(一)算法
1.算法的基本概念:
是指解题方案的准确而完整的描述。
1)算法的基本特征:
(1)可行性
(2)确定性
(3)有穷性:
即算法应该在计算有限个步骤后能够正常结束。
(4)拥有足够的情报
2)算法的基本要素:
①数据对象的运算和操作,
②算法的控制结构:
顺序结构、选择结构和循环结构
2.算法复杂度:
①时间复杂度:
即实现该算法需要的计算工作量.用次数衡量。
与时间无关
②空间复杂度:
指要执行该算法所需要的内存空间
(二)数据结构的基本:
①逻辑结构:
a.线性结构
b.非线性
②存储结构(物理结构):
数据的数据的逻辑结构在计算机存储空间中的存放形式
a.顺序存储
b.链式存储
(四)栈和队列(线性结构)
1.栈及其基本运算
1)栈:
①在一端进行插入和删除的线性表。
②允许插入和删除操作一端称为栈顶,不允许插入和删除操作的一端则称为栈底。
③遵循的原则是:
先进后出或后进先出。
2.队列及其基本运算
1)队列:
①队列即是允许在一端进行插入,而在另一端进行删除的线性表。
②允许插入的一端称为队尾,通常用一个尾指针指向队尾;允许删除的一端称为队首,通常用一个队首指针指向排队元素的前一个位置。
③队列遵循的规则是:
先进先出或后进后出
④循环队列中的元素个数=|rear-front+m|%m(m表示队列的总容量)
(五)线性链表(线性表的链式存储结构称为线性链表):
①逻辑结构:
线性
②存储结构:
链式
优点:
便于插入与删除,不便于查找
(六)树与二叉树(非线性)
1.树的基本概念:
①结点的度:
一个结点所拥有的后件结点个数称为该结点的度
②树的度:
所有结点中最大的度称为该树的度
③树的深度:
树的最大层次称为树的深度
2.二叉树及其基本性质
1)二叉树的特点:
①非空二叉树只有一个根结点
②一个结点最多可以有两棵子树,分别称为左子树和右子树
2)二叉树的性质
性质1:
在二叉树的第k层上,最多2^k-1(k≥1)个结点。
性质2:
深度为m的二叉树最多有2^m-1个结点。
性质3:
在任意一棵二叉树中,度为0的结点(即叶子结点)总比度为2的结点多一个。
性质4:
具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示log2n的整数部分。
3)满二叉树与完全二叉树
(1)满二叉树
满二叉树的特点:
除最后一层外,每一层上的所有结点都有两个子结点。
(2)完全二叉树
特点:
除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干个结点。
完全二叉树具有的性质:
性质5:
具有n个结点的完全二叉树的深度为[log2n]+1
性质6:
设完全二叉树共有n个结点。
如果从根结点开始,按层次(每一层从左到右)用自然数1、2……、n给结点编号,对于编号为k(k=1,2,……n)的结点有如下结论:
①若k=1,则该结点为根结点,它没有父结点;若k>1,则该结点的父结点编号为INT(k/2)。
②若2k≤n,则编号为k的结点的左子结点编号为2k;否则该结点无左子结点(当然也没有右子结点)
③若2k+1≤n,则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点。
3.二叉树的存储结构:
二叉树的存储常采用链式存储结构。
4.二叉树的遍历
1)前序遍历:
根左右
2)中序遍历:
左根右
3)后序遍历:
左右根
(七)查找技术:
1.顺序查找(线性表为无序表,即表中的元素不是按大小顺序进行排列的,这类线性表不管它的存储方式是顺序存储还是链式存储,都只能按顺序查找方式进行查找即使是有序线性表,如果采用链式存储,也只能采用顺序查找方式):
需要n次
2.二分查找(只适用于顺序存储的有序表):
最坏情况下需要比较log2n次
(八)排序技术
类别
最坏情况下比较次数
交换类排序法
冒泡排序
n(n-1)/2
快速排序
n(n-1)/2
插入类
简单插入法
n(n-1)/2
希尔排序法
O(n^1.5)
选择类
简单选择排序
n(n-1)/2
堆排序
O(nlog2n)
第二章程序设计基础
一、内容要点
(一)程序设计方法与风格
程序设计方法:
主要经过了面向过程的结构化程序设计和面向对象的程序设计方法。
1.程序注释:
注释一般包括序言性注释和功能性注释;
(二)结构化程序设计
1.结构化程序设计的原则:
自顶而下、逐步求精,模块化,限制使用goto语句。
2.结构化程序设计的基本结构与特点
(1).优点:
使程序结构良好、易读、易理解、易维护。
(2)基本结构:
顺序结构,选择结构,重复结构(循环结构)
(三)面向对象的程序设计
1.面向对象的优点:
1)与人类习惯的思维方法一致
2)稳定性好
3)可重用性好
4)易于开发大型软件产品
5)可维护性好
2.面向对象方法的基本概念
1)对象:
由属性和操作组成
对象的基本特点:
(1)标识的唯一性
(2)分类性
(3)多态性
(4)封装性
(5)模块独立性好
2)类和实例:
对象是其对应类的一个实例
3)消息:
对象与对象之间通过消息传递
4)继承
5)多态性
第三章软件工程基础
二、内容要点
(一)软件工程基本概念
1.软件组成:
由数据,程序和文档组成
1)软件的分类:
应用软件,系统软件,支撑软件(或工具软件)
2.软件危机与软件工程
1)软件工程:
软件工程包括3个要素:
方法、工具和过程。
3.软件工程过程与软件生命周期
1)软件工程过程
包括4种基本活动:
P—软件规格说明。
D—软件开发。
C—软件确认。
A—软件演进过程。
2)软件生命周期
生命周期的主要阶段:
软件定义:
a.可行性研究
b.需求分析
软件开发:
a.软件设计:
概要设计和详细设计
b.软件实现
c.软件测试
软件维护:
运行和维护
4.软件工程的目标与原则
1)软件工程的目标
A.软件工程的目标:
在给定成本、进度的情况下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。
B.软件工程的理论和技术性研究的内容包括:
软件开发技术和软件工程管理。
2)软件工程的原则
(1)抽象
(2)信息隐蔽
(3)模块化。
(4)局部化。
(5)确定性。
(6)一致性。
(7)完备性
(8)可验证性
(二)结构化分析方法
1.需求分析与需求分析方法
1)需求分析的阶段工作
①需求获取
②需求分析
③编写需求规格说明书
④需求评审。
2)需求分析方法:
(1)结构化分析方法:
①面向数据流的结构化分析方法
②面向数据结构的Jackson方法
③面向数据结构的结构化数据系统开发方法
(2)面向对象的分析方法
需求分析方法又分为静态分析方法和动态分析方法。
2.结构化分析方法(运用在软件需求分析阶段)
1)结构化分析的常用工具
(1)数据流图(DFD):
(圆),加工(转换)。
(箭头),数据流。
(平行的二条直线),存储文件(数据源)。
(长方形),源,潭。
(2)数据字典:
数据字典是结构化分析方法的核心。
(3)判定树
(4)判定表
3.软件需求规格说明书:
是需求分析阶段的最后成果
(三)结构化设计方法
1.软件设计(是软件工程的重要阶段,其确定系统的物理模型)
1)软件设计包括:
软件结构设计、数据设计、接口设计、过程设计
2)软件设计的基本原理
(1)抽象
(2)模块化
(3)信息隐蔽
(4)模块独立性(高内聚,低耦合)
2.概要设计
1)软件结构设计工具是结构图
结构图的元素:
矩形表示一个模块,在矩形内注明模块的功能和名字
箭头表示模块间的调用关系。
带实心圆的箭头表示传递的是控制信息,带空心圆的箭头表示传递的是数据信息
结构图中常有的模块类型:
传入模块,传出模块,变换模块,协调模块
2)面向数据流的设计方法
①数据流类型:
变换型。
将数据流分成三个部分:
输入数据、中心变换和输出数据三个部分。
事务型。
在事务中心接收数据,分析数据以确定它的类型,再选取一条活动的通路
②面向数据流设计方法的实施要点与设计过程
3.详细设计:
是软件结构图中的每一个模块确定实现算法和局部数据结构,用某种工具表示算法和数据结构的细节。
常用的设计工具有:
图形工具:
程序流程图(箭头表示控制流,矩形表示加工,零星表示逻辑条件),N-S,PAD,HIPO
表格工具:
判定表
语言工具:
PDL(伪码)也叫过程设计语言
(四)软件测试(贯穿整个软件生命周期)
1.软件测试的目的:
发现错误
2.软件测试技术与方法综述
1)按是否需要执行被测软件:
静态测试
动态测试:
是用于发现程序错误的过程。
2)按功能分:
白盒测试方法(结构测试或逻辑驱动测试):
包括逻辑覆盖和基本路径测试
黑盒测试方法(功能测试和数据驱动测试):
等价类划分法(包括有效等价类和无效等价类)、边界值分析法、错误推测法、因果图等,主要用于软件确认测试,不考虑程序内部的逻辑结构和内部特性。
3.软件测试的实施:
1)单元测试
2)集成测试
3)确认测试
4)系统测试
(五)程序的调试(开发阶段)
1.目的:
诊断和改正程序中的错误
2.软件调试:
静态调试(主要手段)和动态调试
软件调试的方法:
1)强行排错法
2)回溯法
3)原因排除法
第四章数据库设计基础
一、内容要点
(一)数据库系统的基本概念(数据:
描述事物的符号记录)
1.数据库系统(DBS):
1)数据库(DataBase,DB):
是数据的集合,其中的数据有集成和共享性
2)数据库管理系统(DataBaseManagementSystem,DBMS):
是数据库系统的核心
3)数据库管理员(DBA):
功能:
(1)数据库设计
(2)数据库维护
(3)改善系统性能,提高系统效率
4)硬件
5)软件
2,数据语言:
1)数据定义语言(DataDefinitionLanguage,DDL)
2)数据操纵语言(DataManipulationLanguage,DML)
3)数据控制语言(DataControlLanguage,DCL)
3,数据库应用系统(DBAS):
由数据库系统,应用软件和应用界面组成
4.数据库系统经历的阶段:
人工管理阶段,文件系统阶段,数据库系统阶段
.数据库系统的基本特点
1)数据的集成性
2)数据的高共享性与低冗余性
3)数据的独立性:
分为物理独立性和逻辑独立性
4)数据统一管理与控制
5.数据库系统的内部结构体系
1)数据库系统的三级模式:
(1)概念模式
(2)外模式(子模式或用户模式)
(3)内模式(物理模式)
2)数据库系统的二级映射:
概念模式到内模式的映射
外模式到概念模式的映射
(二)数据模型
1.数据模型的基本概念
数据模型描述的三个部分:
数据结构、数据操作与数据约束。
数据模型分为:
概念数据模型,逻辑数据模型,物理数据模型
2.E-R模型
1)E-R模型(实体联系模型):
有实体,联系和属性组成
(1)实体:
客观存在且又能相互区别的事物
(2)属性:
用来描述实体的特征
(3)联系:
反映事物之间的关联
两个实体之间的联系:
一对一的联系
一对多的联系
多对多的联系
2)E-R模型的图示法:
用矩形表示实体集,在矩形内部标出实体集的名称
用椭圆形表示属性,在椭圆上标出属性的名称
用菱形表示联系,在菱形上标出联系名
3.层次模型
4.网状模型
5.关系模型:
1)①关系模型是利用二维表来表示,简称表。
②键:
能够唯一确定元组的属性或属性的组合。
例如,在学生基本情况表中,可以用学号来唯一标识某个学生,即学号可以作为该表的键
③在二维表中凡是能够唯一标识元组的最小属性集称为该表的键或码。
从二维表的所有候选键中选取一个作为用户使用的键称为主键或主码。
④外键:
如果表中的一个字段不是本表的键或候选键,而是另外一个表的键或候选键,则称该字段为外键或外码。
2)关系模型的数据操作:
(1)数据查询
(2)数据删除
(3)数据插入
(4)数据修改
3)关系中的数据约束:
实体完整性约束、参照完整性约束和用户定义的完整性约束。
相关推荐:
(三)关系代数
1.关系模型的基本运算
1)插入
插入操作可看作是集合的并运算。
即在原有的关系R中并入要插入的元组R’,是这两个元组的并运算:
R∪R’
2)删除
在关系R中删除元组R’,可看作是两个关系的差运算:
R-R’
3)修改
修改关系R中的元组的内容的操作:
先将要修改的元组R’从关系R中删除,再将修改后的元组R”插入到关系R中,即操作为:
(R-R’)∪R"
4)查询:
(1)投影运算(行不变列减少):
投影是从垂直的角度进行运算,即从列的角度进行运算,投影运算基于一个关系,是一个一元运算。
(2)选择(列不变行减少):
选择是从行的角度进行的运算,它的关系模式与原关系相同,但是原关系的一个子集。
例如,从学生表中查找女同学的信息。
(3)笛卡尔积运算:
两个关系的合并操作可以用笛卡尔积表示。
设有n元关系R及m元关系S,它们分别有p、q个元组,则关系R和关系S的笛卡尔积为R×S,新关系是一个n+m元关系,元组个数是p×q,由R和S的有序组合而成。
3.关系代数中的扩充运算:
1)交运算:
关系R与关系S经交运算后所得到的关系是既在R中又在S中的元组组成,记为R∩S
2)除运算:
S称为T除以R的商。
T能被除的充分与必要条件是:
T中的域包含R中的所有属性,T中有一些域不出现在R中。
3)连接与自然连接运算:
联接是关系的横向运算。
联接运算将两个关系横向地拼接成一个更宽的关系,生成的新关系中有满足联接条件的所有元组。
如下图所示为等值联接运算的操作。
自然联接,是去掉重复属性的等值联接。
自然联接是最常用的联接方式。
如果上例进行的是自然联接,则联接后的关系如下图所示。
(四)数据库设计与管理
1.数据库设计概述
1)数据库设计的基本任务是根据用户对象的信息需求、处理需求和数据库的支持环境(包括硬件、操作系统与DBMS)设计出数据模式。
2)数据库设计的两种方法:
面向数据的方法:
以信息需求为主,兼顾处理需求。
(主)
面向过程的方法:
以处理需求为主,兼顾信息需求。
3)数据库设计一般采用生命周期法,分为:
需求分析阶段(需求说明书)
概念设计阶段(概念数据模型)
逻辑设计阶段(逻辑数据模型)
物理设计阶段(数据库内模型)
2.数据库设计的需求分析
1)对数据库的要求:
信息要求,处理要求,安全性和完整性的要求
2)数据字典是各类数据的集合,它包括五个部分:
数据项:
即数据的最小单位
数据结构:
是若干数据项有意义的集合
数据流:
可以是数据项,也可以是数据结构,用来表示某一处理过程的输入或输出
数据存储
3.数据库概念设计:
①集中式模式设计法
②视图集成设计法
视图设计的三种次序:
自顶向下,由底向上,由内向外
4.数据库的逻辑设计
从E-R模型向关系模式转换:
E-R模型向关系模式的转换包括:
①E-R模型中的属性转换为关系模式中的属性
②E-R模型中的实体转换为关系模式中的元组
③E-R模型中的实体集转换为关系模式中的关系
④E-R模型中的联系转换为关系模式中的关系
5.数据库管理
数据库管理包括:
1)数据库的建立
2)数据库的调整
3)数据库的重组
4)数据库的故障校复
5)数据安全性控制与完整性控制
6)数据库监控