林计算机二级公共基础知识要点及真题答案.docx

上传人:b****8 文档编号:30515272 上传时间:2023-08-16 格式:DOCX 页数:79 大小:131.12KB
下载 相关 举报
林计算机二级公共基础知识要点及真题答案.docx_第1页
第1页 / 共79页
林计算机二级公共基础知识要点及真题答案.docx_第2页
第2页 / 共79页
林计算机二级公共基础知识要点及真题答案.docx_第3页
第3页 / 共79页
林计算机二级公共基础知识要点及真题答案.docx_第4页
第4页 / 共79页
林计算机二级公共基础知识要点及真题答案.docx_第5页
第5页 / 共79页
点击查看更多>>
下载资源
资源描述

林计算机二级公共基础知识要点及真题答案.docx

《林计算机二级公共基础知识要点及真题答案.docx》由会员分享,可在线阅读,更多相关《林计算机二级公共基础知识要点及真题答案.docx(79页珍藏版)》请在冰豆网上搜索。

林计算机二级公共基础知识要点及真题答案.docx

林计算机二级公共基础知识要点及真题答案

计算机二级公共基础知识要点

第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。

也可根据:

满二叉树的节点数-叶子

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1