林计算机二级公共基础知识要点及真题答案.docx
- 文档编号:30515272
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:79
- 大小:131.12KB
林计算机二级公共基础知识要点及真题答案.docx
《林计算机二级公共基础知识要点及真题答案.docx》由会员分享,可在线阅读,更多相关《林计算机二级公共基础知识要点及真题答案.docx(79页珍藏版)》请在冰豆网上搜索。
林计算机二级公共基础知识要点及真题答案
计算机二级公共基础知识要点
第1章数据结构与算法
1.1算法
算法:
是指对特定问题解题步骤(方案)的准确而完整的描述。
可用有限的指令序列实现。
算法不等于程序。
程序的编制不可能优于算法的设计。
算法的基本特征:
(1)可行性;算法中每一步操作都可用通过有限条基本操作指令的执行来实现。
(2)确定性:
算法中每一步骤都定义明确,无多义性;
(3)有穷性:
算法能在执行有限个步骤后终止,并解决了问题。
(4)输出:
有若干个输出
算法的基本要素:
指令系统:
一个计算机系统能执行的所有指令的集合。
基本运算包括:
算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:
顺序结构、选择结构、循环结构。
算法基本设计方法:
列举法、归纳法、递推、递归、减半递推技术、回溯法。
算法复杂度:
算法时间复杂度和算法空间复杂度。
算法时间复杂度:
是指执行算法所需要的计算工作量(运算次数的多少)。
算法空间复杂度:
是指执行这个算法所需要的内存空间。
主要考点
算法的概念,算法的基本特征,算法的复杂度(时间复杂度和空间复杂度的概念及其相互关系)
历年考题
10年3月
(2)算法的时间复杂度是指
A)算法的执行时间
B)算法所处理的数据量
C)算法程序中的语句或指令条数
D)算法在执行过程中所需要的基本运算次数
答案:
D
09年9月
(4)算法的空间复杂度是指
A)算法在执行过程中所需要的计算机存储空间
B)算法所处理的数据量
C)算法程序中的语句或指令条数
D)算法在执行过程中所需要的临时工作单元数
答案:
A
08年4月
(5)算法的有穷性是指()
A)算法程序的运行时间是有限的B)算法程序所处理的数据是有限的
C)算法程序的长度是有限的D)算法只能被有限的用户使用
答案:
A
07年4月
(1)下列叙述中正确的是()
A)算法的效率只与问题的规模有关,而与数据的存储结构无关
B)算法的时间复杂度是指执行算法所需要的计算工作量
C)数据的逻辑结构与存储结构是一一对应的
D)算法的时间复杂度与空间复杂度一定相关
答案:
B
06年9月
(7)下列叙述中正确的是________。
A)一个算法的空间复杂度大,则其时间复杂度也必定大
B)一个算法的空间复杂度大,则其时间复杂度必定小
C)一个算法的时间复杂度大,则其空间复杂度必定小
D)上述三种说法都不对
答案:
D
05年9月
(2)算法复杂度主要包括时间复杂度和【2】复杂度。
答案:
空间
05年4月
(5)问题处理方案的正确而完整的描述称为()。
答案:
算法
1.2数据结构的基本概念
数据结构:
是指数据及相互之间的联系。
数据结构研究的三个方面:
(见:
辅导教程p173图15-1)
(1)逻辑结构:
指数据在人们思维中相邻关系。
是从具体问题抽象出来的数学模型。
(2)存储结构(物理结构):
数据的逻辑结构在计算机中的表示(存储方式)。
(3)施加在数据上的运算
查找、插入、删除、更新、排序等)。
数据的逻辑结构包含:
(1)表示数据元素的信息(值);
(2)表示各数据元素之间的前后件关系。
数据的存储结构有:
(见:
辅导教程p173图15-2)
顺序存储结构:
逻辑上相邻数据,存储位置连续相邻。
链式存储结构:
数据附加指针域,指出逻辑上相邻数据的位置。
索引:
建立索引表。
表中索引项的格式为:
关键字,地址
关键字:
唯一标识节点数据的简短文字。
地址:
指向节点数据的指针。
哈希(散列)存储结构:
将结点关键字通过哈希函数计算出一个值,将这个值作为该结点的存储地址。
主要考点
逻辑结构和存储结构的概念及相互关系;
历年考题
08年9月
(4)下列叙述中正确的是()。
A)顺序存储结构的存储空间一定是连续的,链式存储结构的存储空间不一定是连续的
B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C)顺序存储结构能存储有序表,链式存储结构不能存储有序表
D)链式存储结构比顺序存储结构节省存储空间
答案:
A
07年9月
(6)下列叙述中正确的是
A)数据的逻辑结构与存储结构必定是一一对应的
B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构
C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构
D)以上三种说法都不对
答案:
D
05年9月
(4)下列叙述中正确的是( )。
A)一个逻辑数据结构只能有一种存储结构
B)数据的逻辑结构属于线性结构,存储结构属于非线性结构
C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
答案:
D
05年4月
(1)数据的存储结构是指( )。
A)存储在外存中的数据
B)数据所占的存储空间量
C)数据在计算机中的顺序存储方式
D)数据的逻辑结构在计算机中的表示
答案:
D
1.3线性表及其顺序存储结构
线性表:
是相同特性的数据元素的有序系列。
复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
非空线性表的结构特征:
(1)有且只有一个头结点a1,它无前件;
(2)有且只有一个尾结点an,它无后件;
(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。
线性表的长度:
结点个数n称为线性表的长度,当n=0时,称为空表。
线性表的顺序存储结构具有以下两个基本特点:
(1)线性表中所有元素所占的存储空间是连续的;
(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
ai的存储地址为:
ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。
顺序线性表的运算:
插入、删除。
主要考点
线性表概念的理解(多与具体的数据结构结合考查),存储地址的计算
10年9月
1.下列叙述中正确的是
A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D)上述三种说法都不对
答案:
B
1.4栈和队列(考查重点)
栈:
是限定在一端进行插入与删除的线性表。
允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。
栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。
用top表示栈顶位置,用bottom表示栈底。
栈的基本运算:
(1)插入元素称为入栈运算;
(2)删除元素称为退栈运算;
(3)读栈顶元素是将栈顶元素赋给一个指定的变量,读后栈顶指针变成指新栈顶。
队列:
是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。
Rear指针指向队尾,front指针指向队头。
Rear=front是空队。
队列是“先进先出”(FIFO)或“后进后出”(LILO)的线性表。
队列运算包括
(1)入队运算:
从队尾插入一个元素;
(2)退队运算:
从队头删除一个元素。
循环队列:
是特殊的队列。
逻辑上是头尾相连形成的环形。
(见:
辅导教程p177修改图15-5)
用front指示队头;用rear指示队尾。
初始化时,使front=rear=0。
约定队序是逆时针的。
那么,入队出队头针尾针都按逆时针方向进1。
约定:
front=rear表示队空。
约定:
出队时,允许头追上尾,使队空。
入队时不允许尾追上头,少用1个数据元素空间)(rear+1)modmaxsize=front表示队列满
循环队列中数据元素个数计算:
头指针按逆时针扫过多少个元素到达尾指针,队中就有多少个元素。
头指针扫过的元素就是队中的元素。
计算针扫过的元素个数,用下方法计算。
当front<rear时,循环队列中元素的个数为rear-front
当front>rear时,循环队列容量(元素个数)n+rear-front。
循环队列队头指针可以大于队尾指针,也可以小于队尾指针。
说明:
循环队列头尾交接处,这儿称为界。
尾针越界次数=头针越界次数,front>rear。
尾针越界次数比头针越界次数多1,front>rear
主要考点
栈和队列的概念及特征;进出栈/队列的顺序判断;栈和队列(包含循环队列)中元素个数的计算
历年考题
06年9月
(1)数据结构分为线性结构和非线性结构,带链的队列属于[5]。
答案:
线性结构
10年9月
2.下列叙述中正确的是
A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D)上述三种说法都不对
答案:
D
(1)一个栈的初始状态为空。
首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为__【1】__。
答案:
【1】DCBA2345
10年3月
(1)一个队列的初始状态为空。
现将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为【1】。
答案:
【1】A,B,C,D,E,F,5,4,3,2,1
(2)设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有【2】个元素。
解题分析:
头指针按逆时针扫过多少个元素到达尾指针,队中就有多少个元素。
头指针扫过的元素就是队中的元素。
计算针扫过的元素个数,用下方法计算。
当front<rear时,循环队列中元素的个数为rear-front
当front>rear时,循环队列容量(元素个数)n+rear-front。
此题中front=45>rear=10,因此该循环队列中共有45-10=35个元素。
答案:
【2】35
(3)对于循环队列,下列叙述中正确的是
A)队头指针是固定不变的
B)队头指针一定大于队尾指针
C)队头指针一定小于队尾指针
D)队头指针可以大于队尾指针,也可以小于队尾指针
解题分析:
循环队列头尾交接处,这儿称为界。
尾针越界次数=头针越界次数,front>rear。
尾针越界次数比头针越界次数多1,front>rear
答案:
D
09年3月
(1)下列叙述中正确的是()
A)栈是“先进先出”的线性表B)队列是“后进先出”的线性表
C)循环队列是非线性结构
D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
答案:
D
(1)假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有()个元素。
解题分析:
49-30+1=20
答案:
20
08年9月
(1)一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A)123456ABCDE
B)EDCBA54321
C)ABCDE12345
D)54321EDCBA
答案:
B
(2)下列叙述中正确的是()。
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D)循环队列中元素的个数是由队头指针和队尾指针共同决定
答案:
D
08年4月
(7)下列关于栈的叙述正确的是()
A)栈按“先进先出”组织数据B)栈按“先进后出”组织数据
C)只能在栈底插入数据D)不能删除数据
答案:
B
(3)设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有()个元素。
解题分析:
头指针按逆时针扫过多少个元素到达尾指针,队中就有多少个元素。
头指针扫过的元素就是队中的元素。
计算针扫过的元素个数,用下方法计算。
当front<rear时,循环队列中元素的个数为rear-front
当front>rear时,循环队列容量(元素个数)n+rear-front。
此题中front=5<rear=29,因此该循环队列中共有29-5=24个元素。
答案:
【2】24
07年9月
(3) 线性表的存储结构主要分为顺序存储结构和链式存储结构.队列是一种特殊的线性表,循环队列是队列的_[3]______存储结构.
答案:
顺序
07年4月
(5)下列对队列的叙述正确的是()
A)队列属于非线性表
B)队列按“先进后出”原则组织数据
C)队列在队尾删除数据
D)队列按“先进先出”原则组织数据
答案:
D
05年9月
(3)下列关于栈的描述正确的是( )。
A)在栈中只能插入元素而不能删除元素
B)在栈中只能删除元素而不能插入元素
C)栈是特殊的线性表,只能在一端插入或删除元素
D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素
答案:
C
(1)数据结构分为逻辑结构和存储结构,循环队列属于【5】结构。
05年4月
(2)下列关于栈的描述中错误的是( )。
A)栈是先进后出的线性表
B)栈只能顺序存储
C)栈具有记忆作用
D)对栈的插入与删除操作中,不需要改变栈底指针
答案:
B
1.5线性链表
线性链表:
数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。
结点由两部分组成:
(1)用于存储数据元素值,称为数据域;
(2)用于存放指针,称为指针域,用于指向前一个或后一个结点。
在链式存储结构中,存储数据的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
链式存储方式既可用于表示线性结构,也可用于表示非线性结构。
线性链表,HEAD称为头指针,HEAD=NULL(或0)称为空表,如果是两指针:
左指针(Llink)指向前件结点,右指针(Rlink)指向后件结点。
线性链表的基本运算:
查找、插入、删除。
主要考点
线性链表的基本概念及和顺序表之间在存储时的区别
历年考题
06年4月
5)下列叙述中正确的是
A)线性链表是线性表的链式存储结构
B)栈与队列是非线性结构
C)双向链表是非线性结构
D)只有根结点的二叉树是线性结构
答案:
A
05年4月
(5)下列对于线性链表的描述中正确的是( )。
A)存储空间不一定是连续,且各元素的存储位置是任意的
B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C)存储空间必须连续,且前件元素一定存储在后件元素的前面
D)存储空间必须连续,且各元素的存储顺序是任意的
答案:
A
1.6树与二叉树(考查重点)
树是一种简单的非线性结构,所有元素之间具有明显的层次特性。
在树结构中,没有前件的结点只有一个,称为树的根结点。
除根结点外,每一个结点只有一个前件,这个前件称为这个结点的父结点。
没有后件的结点称为叶子结点。
除叶子结点外,每一个结点可以有多个后件,后件称为该结点的子结点。
在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。
树的最大层次称为树的深度。
二叉树的特点:
(1)非空二叉树只有一个根结点;
(2)除根结点外,每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。
二叉树的基本性质:
(1)在二叉树的第k层上,最多有2k-1(k≥1)个结点;
证明:
二叉树的每层都布满节点,每层具有最多个结点。
有画图知,第k层上,有2k-1(k≥1)个结点
(2)深度为m的二叉树最多有2m-1个结点;
证明:
二叉树的每层都布满节点(满二叉树),每层具有最多个结点。
每层结点数之和是二叉树最多的结点。
深度为m的二叉树最多的结点=20+21+22+….+2m-1=2m-1
(3)度为0的结点(即叶子结点)总是比度为2的结点多1个;
证明:
树的深度:
树的最大层次。
只有1个节点的树是深度为1的树。
深度为1的二叉树,度为0的结点(即叶子结点)只1个,度为2的结点0个。
叶子结点比度为2的结点多1个。
多层的二叉树都是在深度为1的二叉树上增加节点变来的。
增加节点的情况只有2种:
①在叶子节点上增加一个叶子节点。
②在度为1的节点上增加一个叶子节点。
由于二叉树,度为2的节点上是不能增加子节点的。
随意在只有一个子节点的节点上增加一个叶子节点,度为0的结点增加了1个,度为2的结点也增加了1个。
保持度为0的结点(即叶子结点)总是比度为2的结点多1个的关系不变。
随意在一个叶子节点上增加一个叶子节点,原叶子节点变成非叶子节点,叶子节点没增加。
度为2的结点也没增加。
保持度为0的结点(即叶子结点)总是比度为2的结点多1个的关系不变。
所以,二叉树叶子结点总是比度为2的结点多1。
(4)具有n个结点的二叉树,其深度至少为int(log2n)+1;
(5)具有n个结点的完全二叉树的深度为int(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)首先遍历左子树(递归调用后序遍历),然后访问遍历右子树(递归调用后序遍历),最后访问根结点(左右根)
说明:
前中后对根言,左在有先。
主要考点
根据二叉树的基本性质和满二叉树的特点进行结点个数的计算;二叉树的遍历顺序
历年考题
5)下列叙述中正确的是
A)线性链表是线性表的链式存储结构
B)栈与队列是非线性结构
C)双向链表是非线性结构
D)只有根结点的二叉树是线性结构
答案:
A
09年9月
(1)下列数据结构中,属于非线性结构的是
A)循环队列
B)带链队列
C)二叉树
D)带链栈
解题分析:
二叉树:
有且只有一个根结点。
每一个结点最多有1个前节点,最多有2个后节点
答案:
C
06年9月
(2)数据结构分为线性结构和非线性结构,带链的队列属于[5]。
答案:
线性结构
06年4月
4)按照“后进先出”原则组织数据的数据结构是
A)队列
B)栈
C)双向链表
D)二叉树
答案:
B
09年9月
(2)下列数据结构中,能够按照“先进后出”原则存取数据的是
A)循环队列
B)栈
C)队列
D)二叉树
答案:
B
10年9月
(3)一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有__【3】___个结点。
解题分析:
叶子节点比度为2的节点多1,叶子节点有8个
10+7+8=25
答案:
【3】25
10年3月
(3)设二叉树如下:
对该二叉树进行后序遍历的结果为【3】。
解题分析:
(递归)后序遍历A的左子树EDB;(递归)后序遍历A的右子树GHFC;最后访问根A
答案:
【3】EDBGHFCA
09年9月
(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树共有【1】个结点。
解题分析:
叶子节点比度为2的节点多1,叶子节点有6个
5+3+6=14
答案:
【1】14
09年3月
(2)支持子程序调用的数据结构是()
A)栈B)树C)队列D)二叉树
解题分析:
调用子程序要断点压栈,子程序返回要断点出栈
答案:
A
(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()
A)10B)8C)6D)4
解题分析:
叶子节点比度为2的节点多1
答案:
C
08年9月
(1)对下列二叉树进行中序遍历的结果___________。
解题分析:
(递归左根右)遍历A的左子树DBXE;访问根A;最后(递归左根右)遍历A的右子树;YFZC
答案:
DBXEAYFZC
08年4月
(2)深度为5的满二叉树有()个叶子结点。
解题分析:
满二叉树k层上的节点有2k-1。
深度为5的满二叉树叶子结点在5层上。
叶子结点个数=25-1=24=16
答案:
16
07年9月
(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为
A)219 B)221 C)229 D)231
解题分析:
叶子节点比度为2的节点多1。
度为2的结点=70-1=69。
该二叉树中的总结点数=70+80+69=219
答案:
A
(4)对下列二叉树进行中序遍历的结果为_[4]__。
解题分析:
(递归左根右)遍历A的左子树ACBD;访问根F;最后(递归左根右)遍历A的右子树;EHGP
答案:
ACBDFEHGP
07年4月
(6)对下列二叉树
进行前序遍历的结果为()
A) DYBEAFCZX B) YDEBFZXCA
C) ABDYECFXZ D) ABCDEFXYZ
解题分析:
访问根A;(递归根左右)遍历A的左子树BDYE;最后(递归根左右)遍历A的右子树;CFXZ
答案:
C
(7)某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为()
A) n+1 B) n-1 C) 2n D) n/2
解题分析:
叶子节点比度为2的节点多1。
该二叉树中的叶子结点数为=n+1
答案:
A
(1) 在深度为7的满二叉树中,度为2的结点个数为_______。
解题分析:
满二叉树k层上的节点有2k-1。
度为2的结点在1至6层上。
度为2的结点个数=20+21+22+23+24+25=26-1=63。
也可根据:
满二叉树的节点数-叶子
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 公共 基础知识 要点 答案