全国计算机等级考试二级公共基础知识考试要点.pdf
《全国计算机等级考试二级公共基础知识考试要点.pdf》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级公共基础知识考试要点.pdf(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、全国计算机等级考试公共基础知识第一章第一章 数据结构与算法数据结构与算法1 1。1 1 算法算法算法:是指解题方案的准确而完整的描述。算法:是指解题方案的准确而完整的描述。算法不等于程序,也不等计算机方法,程序的编制不可能优于算算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。法的设计。算法的基本特征算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的则都是有效的,是明确的,此顺序将在有限的次数下终止。此顺序将在有限的次数下终止。特征包括:特征包括:(1)1)可行性;可行性;(2(2)确定性,算法中每一步骤都必须
2、有明确定义,不允许有模棱)确定性,算法中每一步骤都必须有明确定义,不允许有模棱两可的解释两可的解释,不允许有多义性;不允许有多义性;(3 3)有穷性,算法必须能在有限的时间内做完,即能在执行有)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;限个步骤后终止,包括合理的执行时间的含义;(4)(4)拥有足够的情报。拥有足够的情报。算法的基本要素算法的基本要素:一是对数据对象的运算和操作;二是算法的控一是对数据对象的运算和操作;二是算法的控制结构。制结构。基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传基本运算和操作包括:算术运算、逻辑运算、关系运
3、算、数据传输输.算法的控制结构:顺序结构、选择结构、循环结构。算法的控制结构:顺序结构、选择结构、循环结构。算法基本设计方法算法基本设计方法:列举法、归纳法、递推、递归、减半递推技列举法、归纳法、递推、递归、减半递推技术、回溯法。术、回溯法。算法复杂度:算法时间复杂度和算法空间复杂度。算法复杂度:算法时间复杂度和算法空间复杂度。算法时间复杂度是指执行算法所需要的计算工作量。算法时间复杂度是指执行算法所需要的计算工作量。第81页全国计算机等级考试公共基础知识一般来说,算法的工作量用其执行的一般来说,算法的工作量用其执行的基本运算次数基本运算次数来度量,而算来度量,而算法执行的基本运算次数是问题规
4、模的函数。在同一个问题规模下,用法执行的基本运算次数是问题规模的函数。在同一个问题规模下,用平均性态和最坏情况复杂性来分析平均性态和最坏情况复杂性来分析.一般情况下,用一般情况下,用最坏情况复杂性最坏情况复杂性来分析算法的时间复杂度。来分析算法的时间复杂度。算法空间复杂度是指算法空间复杂度是指执行这个算法所需要的内存空间执行这个算法所需要的内存空间.1.21.2 数据结构的基本概念数据结构的基本概念数据结构研究的三个方面:数据结构研究的三个方面:(1 1)数据集合中各数据元素之间所固有的逻辑关系,即)数据集合中各数据元素之间所固有的逻辑关系,即 数据的数据的逻辑结构;逻辑结构;(2 2)在对数
5、据进行处理时,各数据元素在计算机中的存储关系,)在对数据进行处理时,各数据元素在计算机中的存储关系,即即数据的存储结构数据的存储结构;(3 3)对各种数据结构进行的运算对各种数据结构进行的运算。数据结构是指相互有关联的数据元素的集合。数据结构是指相互有关联的数据元素的集合。数据结构是反映数据元素之间关系的数据元素集合的表示。数据结构是反映数据元素之间关系的数据元素集合的表示。数据的逻辑结构包含:数据的逻辑结构包含:(1 1)表示数据元素的信息;)表示数据元素的信息;(2)2)表示各数据元素之间的前后件关系表示各数据元素之间的前后件关系.(逻辑关系,与在计算(逻辑关系,与在计算机内的存储位置无关
6、)机内的存储位置无关)一个数据结构中的各数据元素在计算机存储空间中的位置关系与一个数据结构中的各数据元素在计算机存储空间中的位置关系与逻辑关系有可能不同。逻辑关系有可能不同。数据的存储结构是数据的逻辑结构在计算机存储空间中的存放形数据的存储结构是数据的逻辑结构在计算机存储空间中的存放形式。式。常用的存储结构有顺序、链接、索引等常用的存储结构有顺序、链接、索引等.第82页全国计算机等级考试公共基础知识根据数据结构中各数据元素之间前后件关系的复杂程度,一般将根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为数据结构分为线性结构和非线性结构线性结构和非线性结构。线性结构条件:线性结
7、构条件:(1(1)有且只有一个根结点)有且只有一个根结点;(2 2)每一个结点最多有一个前件)每一个结点最多有一个前件,也最多有一个后件。也最多有一个后件。非线性结构非线性结构:不满足线性结构条件的数据结构不满足线性结构条件的数据结构.1 13 3 线性表及其顺序存储结构线性表及其顺序存储结构线性表由一组数据元素构成线性表由一组数据元素构成,数据元素的位置只取决于自己的序数据元素的位置只取决于自己的序号,元素之间的相对位置是号,元素之间的相对位置是线性的线性的。如:一个如:一个 N N 维向量、矩阵维向量、矩阵在复杂线性表中,由若干项数据元素组成的数据元素称为记录,在复杂线性表中,由若干项数据
8、元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件而由多个记录构成的线性表又称为文件.非空线性表的结构特征:非空线性表的结构特征:(1 1)有且只有一个根结点)有且只有一个根结点 a1a1,它无前件;,它无前件;(2 2)有且只有一个终端结点)有且只有一个终端结点 anan,它无后件;,它无后件;(3 3)除根结点与终端结点外,其他所有结点有且只有一个前件,)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数也有且只有一个后件。结点个数 n n 称为线性表的长度,当称为线性表的长度,当 n=0n=0 时,称时,称为空表。为空表。线性表的顺序存储结构具有
9、以下两个基本特点:线性表的顺序存储结构具有以下两个基本特点:(1 1)线性表中所有元素的所占的存储空间是连续的)线性表中所有元素的所占的存储空间是连续的;(2 2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。的。aiai 的存储地址为:的存储地址为:ADRADR(aiai)=ADR(a1)+=ADR(a1)+(i-1)k,ADR(a1i-1)k,ADR(a1)为第)为第第83页全国计算机等级考试公共基础知识一个元素的地址,一个元素的地址,k k 代表每个元素占的字节数代表每个元素占的字节数.顺序表的运算顺序表的运算:插入、删除。插入
10、、删除。1 14 4栈和队列栈和队列栈是限定在一端进行插入与删除的线性表栈是限定在一端进行插入与删除的线性表,允许插入与删除的一允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。端称为栈顶,不允许插入与删除的另一端称为栈底。栈按照栈按照“先进后出”“先进后出”(FILO)FILO)或“后进先出或“后进先出(LIFOLIFO)组织数据,)组织数据,栈具有记忆作用栈具有记忆作用.用用 toptop 表示栈顶位置表示栈顶位置,用用 bottombottom 表示栈底。表示栈底。栈的顺序存储栈的顺序存储用一维数组用一维数组 S(1:mS(1:m)作为栈的顺序存储空间,作为栈的顺序存储空间
11、,M M 为栈的最大容量。为栈的最大容量。S S(bottombottom)表示栈底元素表示栈底元素,s(top),s(top)为栈顶元素,为栈顶元素,top=0top=0 表示栈空,表示栈空,top=mtop=m表示栈满。表示栈满。栈的基本运算栈的基本运算:(1 1)插入元素称为入栈运算;)插入元素称为入栈运算;(top=top+1;top=top+1;将新元素插入到栈顶将新元素插入到栈顶指针指向的位置指针指向的位置)上溢上溢(2 2)删除元素称为退栈运算;)删除元素称为退栈运算;(将栈顶指针指向的元素赋给指定(将栈顶指针指向的元素赋给指定的变量,的变量,top=toptop=top1)1)
12、下溢下溢(3 3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。无变化。队列队列队列是指允许在一端(队尾)进入插入,而在另一端(队头)进队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。行删除的线性表。RearRear 指针指向队尾指针指向队尾,front,front 指针指向队头。指针指向队头。队列是“队列是“先进先出”先进先出”(FIFOFIFO)或“后进后出)或“后进后出”(LILO)LILO)的线性表。的线性表。队列的顺序存储队列的顺序存储第84页全国计算机等级考试公共基础知识与栈类似,用一维数组与栈
13、类似,用一维数组 Q Q(1 1:m m)作为队列的顺序存储空间)作为队列的顺序存储空间队列运算队列运算(1 1)入队运算:从队尾插入一个元素;)入队运算:从队尾插入一个元素;(2 2)退队运算:从队头删除一个元素。)退队运算:从队头删除一个元素。循环队列循环队列:在循环队列结构中,当存储空间的最后一个位置已被使用而要进在循环队列结构中,当存储空间的最后一个位置已被使用而要进行入队运算时,只要存储空间的第一个位置空闲,就可将元素加入到行入队运算时,只要存储空间的第一个位置空闲,就可将元素加入到第一个位置第一个位置,即将存储空间的第一个位置作为队尾。即将存储空间的第一个位置作为队尾。从从 Fro
14、ntFront 指针指向的后一个位置直到队尾指针指针指向的后一个位置直到队尾指针 rearrear 指向的位置指向的位置之间所有的元素均为队列中的元素。之间所有的元素均为队列中的元素。循环队列的初始状态为空循环队列的初始状态为空:rear=front=m:rear=front=m当循环队列满时当循环队列满时,rear=Front,rear=Front为区别队满还是队空为区别队满还是队空,增加标志增加标志 S S。s=0s=0 表示队列空表示队列空,s=1,s=1 且且 front=rearfront=rear 表示队列满表示队列满1 15 5 线性链表线性链表对于元素变动频繁的大线性表不宜采用
15、顺序存储结构对于元素变动频繁的大线性表不宜采用顺序存储结构,而应采用而应采用链式存储结构链式存储结构.在链式存储结构中,数据结构中的每一个结点对应于一个存储单在链式存储结构中,数据结构中的每一个结点对应于一个存储单元元,这种存储单元称为存储结点这种存储单元称为存储结点,简称结点。简称结点。结点由两部分组成结点由两部分组成:(1 1)用于存储数据元素值,用于存储数据元素值,称为数据域;称为数据域;(2(2)用于存放指针,称为指针域,用于指向前一个或后一个结点。用于存放指针,称为指针域,用于指向前一个或后一个结点。在链式存储结构中在链式存储结构中,存储数据结构的存储空间可以不连续,各数存储数据结构
16、的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元第85页全国计算机等级考试公共基础知识素之间的逻辑关系是由指针域来确定的。素之间的逻辑关系是由指针域来确定的。链式存储方式既可用于表示线性结构链式存储方式既可用于表示线性结构,也可用于表示非线性结也可用于表示非线性结构。构。线性链表,线性链表,HEADHEAD 称为头指针,称为头指针,HEAD=NULLHEAD=NULL(或(或 0 0)称为空表,如)称为空表,如果是两指针:左指针(果是两指针:左指针(LlinkLlink)指向前件结点,右指针)指向
17、前件结点,右指针(Rlink)(Rlink)指向后指向后件结点。件结点。线性链表的基本运算:查找、插入、删除线性链表的基本运算:查找、插入、删除.1 16 6 树与二叉树树与二叉树树是一种简单的非线性结构,树是一种简单的非线性结构,所有元素之间具有明显的层次特性。所有元素之间具有明显的层次特性。ABCDEFGHI在树结构中,每一个结点只有一个前件,称为父结点,没有前件在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个的结点只有一个,称为树的根结点,简称树的根。每一个结点可以有称为树的根结点,简称树的根。每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点
18、多个后件,称为该结点的子结点。没有后件的结点称为叶子结点.在树结构中在树结构中,一个结点所拥有的后件的个数称为该一个结点所拥有的后件的个数称为该 结点的度结点的度,所所有结点中最大的度称为有结点中最大的度称为树的度树的度。树的最大层次称为树的深度。树的最大层次称为树的深度。度为度为 2 2 的树称为二叉树的树称为二叉树.第86页全国计算机等级考试公共基础知识A1B2C3D4E5F6G7HI二叉树的特点:二叉树的特点:(1 1)非空二叉树只有一个根结点;)非空二叉树只有一个根结点;(2)2)每一个结点最多有两棵子树,且分别称为该结点的左子树与每一个结点最多有两棵子树,且分别称为该结点的左子树与右
19、子树。右子树。二叉树的基本性质:二叉树的基本性质:(1 1)在二叉树的第)在二叉树的第 k k 层上层上,最多有最多有 2 2(k k1 1)个结点;)个结点;(2(2)深度为)深度为 m m 的二叉树最多有的二叉树最多有 2 2-1-1 个结点;个结点;(3 3)度为)度为 0 0 的结点的结点(即叶子结点)总是比度为即叶子结点)总是比度为 2 2 的结点多一个;的结点多一个;(4(4)具有)具有 n n 个结点的二叉树个结点的二叉树,其深度至少为其深度至少为 loglog2 2n n+1,+1,其中其中loglog2 2n n 表示取表示取 loglog2 2n n 的整数部分的整数部分;
20、满二叉树是指除最后一层外,满二叉树是指除最后一层外,每一层上的所有结点有两个子结点,每一层上的所有结点有两个子结点,A1B2D4HIJE5KLC3F6MNG7Om mk-1k-1满二叉树的性质:满二叉树的性质:第第 k k 层上有层上有 2 2个结点,深度为个结点,深度为 m m 的满二叉树有的满二叉树有 2 2-1-1 个结点。个结点。第87页k-1k-1m m全国计算机等级考试公共基础知识完全二叉树是指除最后一层外,每一层上的结点数均达到最大值完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。在最后一层上只缺少右边的若干结点。A1B2D4HIJE5
21、C3F6G7由满二叉树与完全二叉树的特点可以看出,满二叉树也是完全二由满二叉树与完全二叉树的特点可以看出,满二叉树也是完全二叉树,完全二叉树一般不是满二叉树。叉树,完全二叉树一般不是满二叉树。完全二叉树的性质:完全二叉树的性质:(1)1)具有具有 n n 个结点的完全二叉树的深度为个结点的完全二叉树的深度为log2log2+1+1;(2)2)设完全二叉树共有设完全二叉树共有 n n 个结点个结点.如果从根结点开始,按层序如果从根结点开始,按层序(每每一层从左到右)用自然数一层从左到右)用自然数 1,21,2,n n 给结点进行编号(给结点进行编号(k=1,2k=1,2。n n),有以下结论:有
22、以下结论:若若 k=1,k=1,则该结点为根结点则该结点为根结点,它没有父结点;若它没有父结点;若 k1k1,则该结点,则该结点的父结点编号为的父结点编号为 INTINT(k/2k/2);若若 2k2kn n,则编号为,则编号为 k k 的结点的左子结点编号为的结点的左子结点编号为 2k2k;否则该结;否则该结点无左子结点点无左子结点(也无右子结点)也无右子结点);若若 2k+12k+1n n,则编号为,则编号为 k k 的结点的右子结点编号为的结点的右子结点编号为 2k+1;2k+1;否则否则该结点无右子结点。该结点无右子结点。二叉树存储结构二叉树存储结构采用链式存储结构,对于满二叉树与完全
23、二叉树可以按层序进行采用链式存储结构,对于满二叉树与完全二叉树可以按层序进行顺序存储顺序存储.二叉树的遍历:二叉树的遍历:第88页n n全国计算机等级考试公共基础知识(1 1)前序遍历()前序遍历(DLRDLR),首先访问根结点,首先访问根结点,然后遍历左子树,最后然后遍历左子树,最后遍历右子树;遍历右子树;ABDEHICFGABDEHICFG(2 2)中序遍历()中序遍历(LDRLDR),首先遍历左子树首先遍历左子树,然后访问根结点,最后然后访问根结点,最后遍历右子树;遍历右子树;DBHEIAFCGDBHEIAFCG(3 3)后序遍历()后序遍历(LRD)LRD)首先遍历左子树首先遍历左子树
24、,然后访问遍历右子树,最然后访问遍历右子树,最后访问根结点。后访问根结点。DHIEBFGCADHIEBFGCA例:例:设有如下的二叉树设有如下的二叉树A1B2C3D4E5F6G7HI其前序遍历(其前序遍历(DLR)DLR)的结果为的结果为:A B D E H I C F G:A B D E H I C F G其中序遍历(其中序遍历(LDRLDR)的结果为:)的结果为:D B H E I A F C GD B H E I A F C G其后序遍历(其后序遍历(LRDLRD)的结果为)的结果为:D H I E B F G C A:D H I E B F G C A1 17 7 查找技术查找技术顺序
25、查找的使用情况:顺序查找的使用情况:(1)(1)线性表为无序表;线性表为无序表;(不管是顺序存储结构还是链式存储结构(不管是顺序存储结构还是链式存储结构)(2 2)表采用链式存储结构。)表采用链式存储结构。(即使是有序线性表)即使是有序线性表)二分法查找只适用于顺序存储的有序表,二分法查找只适用于顺序存储的有序表,对于长度为对于长度为 n n的有序线性表的有序线性表,二分查找最坏情况只需比较二分查找最坏情况只需比较 loglog2 2n n次次,顺序查找需要比较顺序查找需要比较 n n 次次.1 18 8 排序技术排序技术第89页全国计算机等级考试公共基础知识排序是指将一个无序序列整理成按值非
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 公共 基础知识 考试 要点
限制150内