二级公共基础知识总结
- 格式:doc
- 大小:57.00 KB
- 文档页数:10
二级公共基础知识总结第一章数据结构与算法1.1 算法算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1(2(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性的。
非空线性表的结构特征:(1)且只有一个根结点a1,它无前件;(2)有且只有一个终端结点an,它无后件;(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。
结点个数n n=0线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素的所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。
计算机二级公共基础知识要点总结1.栈按先进后出的原则组织数据,所以入栈最早的最后出栈,而队列是先进先出的线性表。
2.循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的线性表。
在循环队列中只需要对头指针与队尾两个指针来共同反映队列中元素的动态变化情况。
3.当有序线性表为顺序存储时才能用二分法查找。
可以证明的是对于长度为n的有序线性表,在最坏的情况下二分法查找只需要比较log2n次,而顺序查找需要比较n次。
4.链式存储结构既可以针对线性结构也可以针对非线性结构。
链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间。
顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的。
5.数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道一般在旁边标注数据流名。
程序流程图中带有箭头的线段表示的是控制流。
6.在软件开发中,需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,判定树与判定表。
7.“对象”有如下一些基本特点:标识唯一性,分类型,多态性,封装性,模块独立性好。
8.数据管理发展至今已经历了三个阶段:人工管理阶段,文件系统阶段和数据库系统阶段。
其中最后一个阶段结构简单,使用方便,逻辑性强,物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位。
9.自然链接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。
10.内存又称主存,是CPU能直接寻址的存储空间,由半导体器件制成。
内存的特点是存取速率快。
所以微机中访问速度最快的存储器是内存。
11.计算机能直接识别和执行的语言是机器语言,机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。
机器语言具有灵活,直接执行和速度快等特点。
12.1MB=1024KB=1024*1024B=220B13.Internet的四层结构分别是:网络接口层,网络层,传输层和应用层。
全国计算机等级考试二级公共基础知识总结第一章数据结构与算法1.1 算法1 算法的基本特征:可行性;确定性,有穷性;拥有足够的情报。
,2 确定性:算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;3 算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
5 算法时间复杂度是指执行算法所需要的计算工作量。
可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
6 算法时间复杂度取决于问题的规模和待处理的数据的初态。
7 如果算法P调用另一个算法Q,而算法Q又调用算法P8 工程上常用的分治法是减半递推技术910如果查找的x一定在数组中,此时q=1,则A(n)=(n+1)/2。
也就是说,在这种情况下,用顺序搜索法在长度为n的一维数组中查找值为x的元素,在平均的情况下需要检查数组中一半的元素。
如果已知需要查找的x有一半机会在数组中,此时q=1/2。
则A(n)=[(n+1)/4]+n/2=3n/4。
x不在数组中时,A(n)=n。
11下面程序段的时间复杂度是for(int i=0;i<n;i++)for(int j=1;j<=m;j++)A[i][j]=0;语句的频度指的是该语句重复执行的次数,一个算法中所有语句的频度之和构成了该算法的运行时间。
本例中语句:A[i][j]=0;的频度是n*m,所以该程序段的时间复杂度是:O(m*n)1213 一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程较慢。
141.2 数据结构的基本基本概念1数据结构研究的三个方面:;数据运算。
2逻辑结构是数据元素间关系的描述,与所用的计算机无关3数据的逻辑关系是指数据元素的关联。
4数据的不可分割的基本单位是数据项。
56 一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、7。
索引等存储结构。
而采用不同的存储结构,其数据处理的效率是不同的。
计算机二级公共基础知识总结第1篇数据库(DB)特点:集成共享数据库系统(DBS):包含数据库和数据库管理系统数据库管理系统(DBMS):数据库系统的核心数据库管理发展的三个阶段:人工管理阶段--文件系统阶段--数据库系统阶段数据库管理的特点:集成性高共享性低冗余性数据统一管理与控制体系结构:三级模式(有利于保持数据的独立性包括物理独立性和逻辑独立性):外模式概念模式内模式两级映射:外模式到概念模式概念模式到内模式数据模型的三要素:数据结构数据操作数据约束E-R模型:也成为实体联系模型,其三大基本概念有实体(矩形)、联系(菱形)、属性(椭圆形)联系类型:一对一一对多多对多关系模型:最常用用二维表来表示。
关系模型的完整性约束包括实体完整性约束、参照完整性约束和用户定义的完整性约束。
实体完整性约束是数据库完整性的最基本要求,他要求关系中主键的属性值不能为空;参照完整性约束是关系之间相关联的基本约束,它要求关系不能引用不存在的元组;用户定义的完整性约束由用户设置具体数据环境和应用环境的约束,它反映了具体应用数据的语义要求关系代数中最常用的运算xxx集合运算符和专门的关系运算符集合运算符:并∪交∩ 差 - 笛卡尔积 ×关系运算符:选择运算 \sigma 投影 \pi 连接运算⋈除运算(笛卡尔积的逆运算) ÷数据库的设计一般采用生命周期法,分为需求分析、概念设计、逻辑设计和物理设计四个阶段目前关系数据库有六种范式,考前三个(1)第一范式(1NF):数据库表中每一列的属性都不可再分(2)第二范式(2NF):首先满足第一范式,且实体的属性完全依赖于主键(3)第三范式(3NF):满足第二范式,且消除非主属性对主键的传递依赖考试方式1.公共基础知识不单独考试,与其他二级科目组合在一起,作为二级科目考核内容的一部分。
2.上机考试,10道单项选择题,占10分。
参考课程:计算机二级公共基础知识总结第2篇软件的定义:计算机软件是与计算机系统的操作有关的程序、规程、规则及任何与之有关的文档和数据它由两部分组成:一是机器可执行的——程序及有关数据二是机器不可执行的——与软件开发、运行、维护、使用等有关的文档软件工程的三个要素:方法、工具和过程软件生命周期:软件的生命周期是指软件产品从提出、实现、使用维护到停止使用退役的过程。
目录第一章数据结构与算法 (1)1.1算法 (1)1.2 数据结构的基本基本概念 (1)1.3 线性表及其顺序存储结构 (2)1.4 栈和队列 (2)1.5 线性链表 (2)1.6 树与二叉树 (3)1.7 查找技术 (3)1.8 排序技术 (4)第二章程序设计基础 (5)2.1 程序设计设计方法和风格 (5)2.2 结构化程序设计 (5)2.3 面向对象的程序设计 (5)第三章软件工程基础 (7)3.1 软件工程基本概念 (7)3.2 结构化分析方法 (8)3.3 结构化设计方法 (8)3.4 软件测试 (9)3.5 程序的调试 (9)第四章数据库系统的基本概念 (11)4.1 数据库系统的基本概念 (11)4.2 数据模型 (12)4.3关系代数 (12)第一章数据结构与算法1.1算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
公共基础知识第一章数据结构与算法1.1 算法1.1.1 算法的基本概念1、算法的基本特征可行性、确定性、有穷性、拥有足够的情报所谓算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。
2、算法的基本要素(1)算法中对数据的运算和操作在一般的计算机系统中,基本的运算和操作:算术运算、逻辑运算、关系运算、数据传输(2)算法的控制结构描述算法的工具:传统流程图、N-S结构化流程图、算法描述语言等一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成3、算法设计基本方法列举法、归纳法、递推(本质上也属于归纳法,递推关系式往往是归纳的结果)、递归(基础也是归纳,分为直接递归和间接递归两种)、减半递推技术、回溯法(“试”)1.1.2 算法复杂度1、算法的时间复杂度(执行算法所需要的计算工作量)算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数算法的工作量=f(n),n是问题的规模两个n阶矩阵相乘所需要的基本运算(即两个实数的乘法)次数为n3,即计算工作量为n3,也就是时间复杂度为n3对于一个固定的规模,算法所执行的基本运算次数还可能与特定的输入有关——可以用两种方法来分析算法的工作量:平均性态、最坏情况复杂性2、算法的空间复杂度(执行这个算法所需要的内存空间)如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的1.2 数据结构的基本概念数据结构主要有三个方面的问题:●数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构●在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构●对各种数据结构进行的运算提高数据处理的效率,主要包括两个方面:●提高数据处理的速度●尽量节省在数据处理过程中所占用的计算机存储空间1.2.1 什么是数据结构无序表,只能用顺序查找对分查找只适用于有序表(在词典中查单词的方法类似于对分查找)数据结构是指相互有关联的数据元素的集合(向量、矩阵、图书馆中的图书卡片目录……)在数据处理领域中,通常把数据元素之间这种固有的关系简单地用前后件关系(直接前驱与直接后继关系)来描述,前后件关系所表示的实际意义随具体对象的不同而不同1、数据的逻辑结构一个数据结构应包含以下两方面的信息:●表示数据元素的信息●表示各数据元素之间的前后件关系(数据元素之间的前后件关系是指它们的逻辑关系,而与它们在计算机中的存储位置无关)一个数据结构可以表示成:B=(D,R)D为数据元素的集合,R为D中各数据元素之间的前后件关系(一般用二元组来表示)a与b是D中的两个数据,则二元组(a,b)表示a是b的前件,b是a的后件2、数据的存储结构各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的,而且一般也不可能相同一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等存储结构1.2.2 数据结构的图形表示在数据结构中,没有前件的结点称为根结点,没有后件的结点称为终端结点(叶子结点)数据结构中除了根结点与终端结点外的其他结点一般称为内部结点在对数据结构的处理过程中,不仅数据结构中的结点(即数据元素)个数在动态地变化,而且,各数据元素之间的关系也有可能在动态地变化1.2.3 线性结构与非线性结构根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构和非线性结构如果一个非空的数据结构满足两个条件:●有且只有一个根结点●每一个结点最多有一个前件,也最多有一个后件则称该数据结构为线性结构。
第一章数据结构及算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分常常考查的是算法困难度, 数据结构的概念, 栈, 二叉树的遍历, 二分法查找,读者应对此部分进行重点学习。
具体重点学习知识点:1.算法的概念, 算法时间困难度及空间困难度的概念2.数据结构的定义, 数据逻辑结构及物理结构的定义3.栈的定义及其运算, 线性链表的存储方式4.树及二叉树的概念, 二叉树的基本性质, 完全二叉树的概念, 二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应当了解算法中对数据的基本运算。
计算机解题的过程事实上是在实施某种算法,这种算法称为计算机算法。
1.算法的基本特征:可行性, 确定性, 有穷性, 拥有足够的情报。
2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的限制结构。
在一般的计算机系统中,基本的运算和操作有以下4类:算术运算, 逻辑运算, 关系运算和数据传输。
(2)算法的限制结构:算法中各操作之间的执行依次称为算法的限制结构。
描述算法的工具通常有传统流程图, N-S结构化流程图, 算法描述语言等。
一个算法一般都可以用依次, 选择, 循环3种基本限制结构组合而成。
考点2 算法困难度考试链接:考点2在笔试考试中,是一个常常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应当识记算法时间困难度及空间困难度的概念。
1.算法的时间困难度算法的时间困难度是指执行算法所须要的计算工作量。
同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。
这表明运用肯定的时间单位衡量算法的效率是不合适的。
撇开这些及计算机硬件, 软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依靠于问题的规模(通常用整数n表示),它是问题规模的函数。
二级公共基础知识总结(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构置是线性的。
非空线性表的结构特征:(1)且只有一个根结点a1,它无前件;(2)有且只有一个终端结点an,它无后件;(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。
结点个数n n=0线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
元素ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。
顺序表的运算:查找、插入、删除。
在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
)指向后件结点。
线性链表的基本运算:查找、插入、删除。
其允许插入与删除的一端称为栈顶,用指针top表示栈顶位置。
栈的存储方式有顺序存储和链式存储。
栈的基本运算:(1) 入栈运算,在栈顶位置插入元素;(2) 退栈运算,删除元素(取出栈顶元素并赋给一个指定的变量);队列运算包括:(1) 入队运算:从队尾插入一个元素;(2) 退队运算:从队头删除一个元素。
队列的顺序存储结构一般采用队列循环的形式。
循环队列s=0表示队列空;s=1且front=rear表示队列满。
计算循环队列的元素个数:“尾指针减头指针”,若为负数,再加其容量即可。
1.6 树与二叉树树是一种简单的非线性结构,其所有元素之间具有明显的层次特性。
在树结构中,每一个结点只有一个前件,称为父结点。
没有前件的结点只有一个,称为树的根结点,简称树的根。
每一个结点可以有多个后件,称为该结点的子结点。
没有后件的结点称为叶子结点。
在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的边的若干结点。
第一章数据结构与算法1.1 算法1.1.1算法:是指解题方案的准确而完整的描述。
规定了解决某类问题所需的操作语句以及执行顺序使其能通过有限的指令语句,在一定时间内解决问题算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的根本特征:是一组严谨地定义运算顺序的规那么,每一个规那么都是有效的,是明确的,此顺序将在有限的次数下终止。
1.算法特征包括:〔1〕可行性;〔2〕确定性,算法中每一步骤都必须有明确定义,不允许有模棱两可的解释,不允许有多义性;〔3〕有穷性,算法必须能在有限的时间内做完,即能在执行有限的步骤后终止,包括合理的执行时间的含义;〔4〕拥有足够的情报。
2.算法的根本要素:一是对数据对象的运算和操作;二是算法的控制结构通常,计算机可以以执行的根本操作是以指令的形式描述的。
一个计算机系统能执行的所有指令的集合,称为计算机系统的指令系统。
〔1〕计算机系统中的根本运算和操作包括:算术运算+ - * /逻辑运算not and or关系运算< > ! =数据传输赋值输入与输出〔2〕算法的控制结构:顺序结构、选择结构、循环结构。
3.算法根本设计方法:列举法〔列举所有解决方案〕归纳法〔特殊→一般〕递推〔→未知〕递归〔逐层分解〕减半递推“减半〞是指将问题的规模减半,而问题的性质不为,所谓“递推〞是指重复“减半〞的过程回溯法找出一个解决问题的线索,然后沿着这个线索逐步屡次“探、试〞1.1.2算法复杂度算法时间复杂度和算法空间复杂度〔一个算法所要付出的代价〕是衡理算法好坏的。
1.算法时间复杂度算法时间复杂度是指执行算法所需要的计算工作量。
〔既算法的运算次数〕含义:算法执行过程中所需要的根本运算次数影响计算工作量的主要因素:一、根本运算次数二、问题与规模2.算法空间复杂度是指执行这个算法所需要的内存空间。
一个算法所用的内存空间包括:1、算法程序所占的空间2、输入的初始数据所占的存储空间3、算法执行过程中的额外空间1.2 数据结构的根本根本概念数据:在计算机科学中指所有能输入到计算机中的并被计算机程序处理的符号的总称数据元素:数据的根本单位,在计算机程序中通常作为一个整体进行考虑和处理。
第一章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。
详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。
计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。
1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。
2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。
在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。
(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。
描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。
一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。
考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。
1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。
同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。
这表明使用绝对的时间单位衡量算法的效率是不合适的。
撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。
第一章数据结构与算法1.1算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法, 程序的编制不可能优于算法的设计。
算法的特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
两个之间没有联系的。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有目只有一个根结占•)(2)每一个结点最多有二个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
线性表的顺序存储结构具有以下两个基木特点:(1)线性表中所有元素的所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
1. 4栈和队列栈是限定在一端进行插入与删除的线性表。
二级公共基础知识基础归纳第一章数据结构与算法算法——严格定义操作顺序的一组规则算法的基本要素---一是对数据对象的运算和操作,二是算法的控制结构算法设计基本方法---列举法、归纳法、递推、递归、减半递推算法的复杂度---包括时间复杂度和空间复杂度时间复杂度---执行算法所需的计算工作量空间复杂度---执行算法所需的内存空间数据结构——相关数据元素的集合。
如春、夏、秋、冬;18、 11、35、23、16……;父亲、儿子和女儿都是数据元素。
前件---数据元素之间的关系,如父亲是儿子和女儿的前件后件---如儿子是父亲的后件结构---指数据元素之间的前后件关系数据的逻辑结构指的是反映数据元素之间的逻辑关系,而不管它们在计算机中的存储位置如何数据的存储结构(物理结构)---数据的逻辑结构在计算机存储空间中的存放形式,数据元素在计算机存储空间的位置关系可能与逻辑关系不同。
根据数据结构中每个数据元素的前因和前因之间关系的复杂性,数据结构可分为两类:线性结构和非线性结构线性结构(线性表)---满足下列两个条件(1)有且只有一个根结点(2)每一个结点最多有一个前件和后件。
则称该数据结构为线性结构,否则为非线性结构。
线性表是最简单和最常用的数据结构。
其数据元素之间的相对位置是线性的,其存储方法是顺序存储,如数组栈---是限定在一端进行插入与删除的线性表,一端封闭,另一端开口,其操作原则是“先进后出”,栈的运算有入栈、退栈、读栈顶元素队列---指在一端插入(称为队列尾部)并在另一端删除(称为队列头部)的线性表。
其操作规则为“先进先出”,其操作包括进入和离开队列。
树---是一种简单的非线性结构,而且是层次结构,是倒立的大树,有根结点、父结点、子结点、叶子结点。
根结点在第一层,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度,树的最大层次称为树的深度。
二叉树-(1)非空二叉树只有一个根节点(2)每个节点最多有两个子树(左子树和右子树),其存储结构为链式。
第一章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。
详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。
计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。
1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。
2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。
在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。
(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。
描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。
一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。
考点2算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。
1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。
同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。
这表明使用绝对的时间单位衡量算法的效率是不合适的。
撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。
二级公共基础知识总结第一章数据结构与算法1.1 算法算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1(2(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性的。
非空线性表的结构特征:(1)且只有一个根结点a1,它无前件;(2)有且只有一个终端结点an,它无后件;(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。
结点个数n n=0线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素的所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。
二级公共基础知识总结请认真背诵该资料,至少要看三遍,划横线和方框的都是重点!第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
两个之间没有联系的。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素的所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
二级公共基础知识总结第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
非空线性表的结构特征:(1)且只有一个根结点a1,它无前件;(2)有且只有一个终端结点an,它无后件;(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。
结点个数n称为线性表的长度,当n=0时,称为空表。
线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素的所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。
顺序表的运算:插入、删除。
1.4 栈和队列栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。
栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。
用top表示栈顶位置,用bottom表示栈底。
栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。
队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。
Rear指针指向队尾,front指针指向队头。
队列是“先进行出”(FIFO)或“后进后出”(LILO)的线性表。
队列运算包括(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。
循环队列:s=0表示队列空,s=1且front=rear表示队列满1.5 线性链表数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。
结点由两部分组成:(1)用于存储数据元素值,称为数据域;(2)用于存放指针,称为指针域,用于指向前一个或后一个结点。
在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
链式存储方式即可用于表示线性结构,也可用于表示非线性结构。
线性链表,HEAD称为头指针,HEAD=NULL(或0)称为空表,如果是两指针:左指针(Llink)指向前件结点,右指针(Rlink)指向后件结点。
线性链表的基本运算:查找、插入、删除。
1.6 树与二叉树树是一种简单的非线性结构,所有元素之间具有明显的层次特性。
在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称树的根。
每一个结点可以有多个后件,称为该结点的子结点。
没有后件的结点称为叶子结点。
在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。
树的最大层次称为树的深度。
二叉树的特点:(1)非空二叉树只有一个根结点;(2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。
二叉树的基本性质:(1)在二叉树的第k层上,最多有2k-1(k≥1)个结点;(2)深度为m的二叉树最多有2m-1个结点;(3)度为0的结点(即叶子结点)总是比度为2的结点多一个;(4)具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示取log2n的整数部分;(5)具有n个结点的完全二叉树的深度为[log2n]+1;(6)设完全二叉树共有n个结点。
如果从根结点开始,按层序(每一层从左到右)用自然数1,2,….n给结点进行编号(k=1,2….n),有以下结论:①若k=1,则该结点为根结点,它没有父结点;若k>1,则该结点的父结点编号为INT(k/2);②若2k≤n,则编号为k的结点的左子结点编号为2k;否则该结点无左子结点(也无右子结点);③若2k+1≤n,则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点。
满二叉树是指除最后一层外,每一层上的所有结点有两个子结点,则k层上有2k-1个结点深度为m的满二叉树有2m-1个结点。
完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。
二叉树存储结构采用链式存储结构,对于满二叉树与完全二叉树可以按层序进行顺序存储。
二叉树的遍历:(1)前序遍历(DLR),首先访问根结点,然后遍历左子树,最后遍历右子树;(2)中序遍历(LDR),首先遍历左子树,然后访问根结点,最后遍历右子树;(3)后序遍历(LRD)首先遍历左子树,然后访问遍历右子树,最后访问根结点。
1.7 查找技术顺序查找的使用情况:(1)线性表为无序表;(2)表采用链式存储结构。
二分法查找只适用于顺序存储的有序表,对于长度为n的有序线性表,最坏情况只需比较log2n次。
1.8 排序技术排序是指将一个无序序列整理成按值非递减顺序排列的有序序列。
交换类排序法:(1)冒泡排序法,需要比较的次数为n(n-1)/2;(2)快速排序法。
插入类排序法:(1)简单插入排序法,最坏情况需要n(n-1)/2次比较;(2)希尔排序法,最坏情况需要O(n1.5)次比较。
选择类排序法:(1)简单选择排序法, 最坏情况需要n(n-1)/2次比较;(2)堆排序法,最坏情况需要O(nlog2n)次比较。
第二章程序设计基础2.1 程序设计设计方法和风格如何形成良好的程序设计风格1、源程序文档化;2、数据说明的方法;3、语句的结构;4、输入和输出。
注释分序言性注释和功能性注释,语句结构清晰第一、效率第二。
2.2 结构化程序设计结构化程序设计方法的四条原则是:1. 自顶向下;2. 逐步求精;3.模块化;4.限制使用goto 语句。
结构化程序的基本结构和特点:(1)顺序结构:一种简单的程序设计,最基本、最常用的结构;(2)选择结构:又称分支结构,包括简单选择和多分支选择结构,可根据条件,判断应该选择哪一条分支来执行相应的语句序列;(3)循环结构:可根据给定条件,判断是否需要重复执行某一相同程序段。
2.3 面向对象的程序设计面向对象的程序设计:以60年代末挪威奥斯陆大学和挪威计算机中心研制的SIMULA语言为标志。
面向对象方法的优点:(1)与人类习惯的思维方法一致;(2)稳定性好;(3)可重用性好;(4)易于开发大型软件产品;(5)可维护性好。
对象是面向对象方法中最基本的概念,可以用来表示客观世界中的任何实体,对象是实体的抽象。
面向对象的程序设计方法中的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性和它可执行的一组操作组成。
属性即对象所包含的信息,操作描述了对象执行的功能,操作也称为方法或服务。
对象的基本特点:(1)标识惟一性;(2)分类性;(3)多态性;(4)封装性;(5)模块独立性好。
类是指具有共同属性、共同方法的对象的集合。
所以类是对象的抽象,对象是对应类的一个实例。
消息是一个实例与另一个实例之间传递的信息。
消息的组成包括(1)接收消息的对象的名称;(2)消息标识符,也称消息名;(3)零个或多个参数。
继承是指能够直接获得已有的性质和特征,而不必重复定义他们。
继承分单继承和多重继承。
单继承指一个类只允许有一个父类,多重继承指一个类允许有多个父类。
多态性是指同样的消息被不同的对象接受时可导致完全不同的行动的现象第三章软件工程基础3.1 软件工程基本概念计算机软件是包括程序、数据及相关文档的完整集合。
软件的特点包括:(1)软件是一种逻辑实体;(2)软件的生产与硬件不同,它没有明显的制作过程;(3)软件在运行、使用期间不存在磨损、老化问题;(4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;(5)软件复杂性高,成本昂贵;(6)软件开发涉及诸多的社会因素。
软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。
软件危机主要表现在成本、质量、生产率等问题。
软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。
软件工程包括3个要素:方法、工具和过程。
软件工程过程是把软件转化为输出的一组彼此相关的资源和活动,包含4种基本活动:(1)P——软件规格说明;(2)D——软件开发;(3)C——软件确认;(4)A——软件演进。
软件周期:软件产品从提出、实现、使用维护到停止使用退役的过程。
软件生命周期三个阶段:软件定义、软件开发、运行维护,主要活动阶段是:(1)可行性研究与计划制定;(2)需求分析;(3)软件设计;(4)软件实现;(5)软件测试;(6)运行和维护。
软件工程的目标和与原则:目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。
基本目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发软件易于移植;需要较低的费用;能按时完成开发,及时交付使用。