二级公共基础知识考前解析.docx

上传人:b****8 文档编号:10958903 上传时间:2023-02-24 格式:DOCX 页数:33 大小:32.49KB
下载 相关 举报
二级公共基础知识考前解析.docx_第1页
第1页 / 共33页
二级公共基础知识考前解析.docx_第2页
第2页 / 共33页
二级公共基础知识考前解析.docx_第3页
第3页 / 共33页
二级公共基础知识考前解析.docx_第4页
第4页 / 共33页
二级公共基础知识考前解析.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

二级公共基础知识考前解析.docx

《二级公共基础知识考前解析.docx》由会员分享,可在线阅读,更多相关《二级公共基础知识考前解析.docx(33页珍藏版)》请在冰豆网上搜索。

二级公共基础知识考前解析.docx

二级公共基础知识考前解析

计算机等级二级公共基础知识部分

(1)在下列选项中,哪个不是一个算法一般应该具有的基本特征______。

(C)

  A.确定性

  B.可行性

  C.无穷性

D.有穷性

有穷性:

一个算法应包含有限的操作步骤而不能是无限的。

或是有限时间内停止。

确定性:

算法中每一个步骤应当是确定的,而不能应当是含糊的、模棱两可的。

有零个或多个输入。

有一个或多个输出。

有效性:

算法中每一个步骤应当能有效地执行,并得到确定的结果。

对于程序设计人员,必须会设计算法,并根据算法写出程序

  

(2)希尔排序法属于哪一种类型算法的排序法______。

(B)

  A.交换类排序法

  B.插入类排序法

  C.选择类排序法

D.建堆排序法

属于插入类排序,是将整个无序列分割成若干小的子序列分别进行插入排序

  排序过程:

先取一个正整数d1

  (3)下列关于队列的叙述中正确的是______。

(C)

  A.在队列中只能插入数据

  B.在队列中只能删除数据

  C.队列是先进先出的线性表

D.队列是先进后出的线性表

队列 是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。

进行插入操作的端称为队尾,进行删除操作的端称为队头。

队列中没有元素时,称为空队列。

  队列具有先进先出(FIFO)的特点。

  队列空的条件:

front=rear

  队列满的条件:

rear=MAXSIZE

  队列可以用数组Q[1…m]来存储,数组的上界m即是队列所容许的最大容量。

在队列的运算中需设两个指针:

head:

队头指针,指向实际队头元素的前一个位置tall:

队尾指针,指向实际队尾元素所在的位置一般情况下,两个指针的初值设为0,这时队列为空,没有元素。

图1(a)画出了一个由6个元素构成的队列,数组定义Q[1…10]。

Q(i)i=3,4,5,6,7,8头指针head=2,尾指针tail=8。

队列中拥有的元素个数为:

L=tail-head现要让排头的元素出队,则需将头指针加1。

即head=head+1这时头指针向上移动一个位置,指向Q(3),表示Q(3)已出队。

见图1(b)。

如果想让一个新元素入队,则需尾指针向上移动一个位置。

即tail=tail+1这时Q(9)入队,见图1(c)。

当队尾已经处理在最上面时,即tail=10,如果还要执行入队操作,则要发生"上溢",但实际上队列中还有三个空位置,所以这种溢出称为"假溢出"。

  克服假溢出的方法有两种。

一种是将队列中的所有元素均向低地址区移动,显然这种方法是很浪费时间的;另一种方法是将数组存储区看成是一个首尾相接的环形区域。

当存放到n地址后,下一个地址就"翻转"为1。

在结构上采用这种技巧来存储的队列称为循环队列

  循环队的入队算法如下:

  1、tail=tail+1;

  2、若tail=n+1,则tail=1;

  3、若head=tail尾指针与头指针重合了,表示元素已装满队列,则作上溢出错处理;

  4、否则,Q(tail)=X,结束(X为新入出元素)。

  队列和栈一样,有着非常广泛的应用。

  操作类型作用返回值例子

  length(s)函数求字符串s的长度整型s:

='123456789';

  l:

=length(s);{l的值为9}

  copy(s,w,k)函数复制s中从w开始的k位字符串s:

='123456789';

  s1:

=copy(s,3,5);{s1的值是'34567'}

  val(s,k,code)过程将字符串s转为数值,存在k中;code是错误代码vars:

string;k,code:

integer;

  begin

  s:

='1234';

  val(s,k,code);

  write(k);{k=1234}

  str(i,s)过程将数值i转为字符串si:

=1234;

  str(i,s);

  write(s);{s='1234'}

  Delete(s,w,k)过程在s中删除从第w位开始的k个字符s:

='HonestAbeLincoln';

  Delete(s,8,4);

  Writeln(s);{'HonestLincoln'}

  Insert(s1,S,w)过程将s1插到s中第w位S:

='HonestLincoln';

  Insert('Abe',S,8);{'HonestAbeLincoln'}

  Pos(c,S)函数求字符c在s中的位置整型S:

='123.5';

  i:

=Pos('',S);{i的值为1}

  +运算符将两个字符串连接起来s1:

='1234';

  s2:

='5678';

  s:

=s1+s2;{'12345678'}

  在STL中,对队列的使用很是完美

  (4)对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。

(B)

  A.N+1

  B.N

  C.(N+1)/2

D.N/2

线性表是最基本、最简单、也是最常用的一种数据结构。

线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。

线性表的逻辑结构简单,便于实现和操作。

因此,线性表这种数据结构在实际应用中是广泛采用的一种数据结构。

  线性表是一种常用的数据结构,本章介绍线性表及其顺序存储,并对栈和队列及它们的顺序实现给出了详细的设计描述。

  在实际应用中,线性表都是以栈、队列、字符串、数组等特殊线性表的形式来使用的。

由于这些特殊线性表都具有各自的特性,因此,掌握这些特殊线性表的特性,对于数据运算的可靠性和提高操作效率都是至关重要的。

  (5)信息隐蔽的概念与下述哪一种概念直接相关______。

(B)

  A.软件结构定义

  B.模块独立性

  C.模块类型划分

  D.模拟耦合度

  (6)面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。

(C)

  A.模拟现实世界中不同事物之间的联系

  B.强调模拟现实世界中的算法而不强调概念

  C.使用现实世界的概念抽象地思考问题从而自然地解决问题

  D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考

  (7)在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。

(C)

  A.详细设计

  B.需求分析

  C.总体设计

  D.编程调试

  (8)软件调试的目的是______。

(B)

  A.发现错误

  B.改正错误

  C.改善软件的性能

  D.挖掘软件的潜能

  (9)按条件f对关系R进行选择,其关系代数表达式为______。

(C)

  A.R|X|R

  B.R|X|R

  C.бf(R)

  D.∏f(R)

  (10)数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是______。

(D)

  A.自顶向下

  B.由底向上

  C.由内向外

  D.由整体到局部

(1)数据结构中,与所使用的计算机无关的是数据的______。

(C)

  A.存储结构

  B.物理结构

  C.逻辑结构

  D.物理和存储结构

  

(2)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是______。

(D)

  A.ABCED

  B.DBCEA

  C.CDABE

D.DCBEA

栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。

  栈是只能在某一端插入和删除的特殊线性表。

用桶堆积物品,先堆进来的压在底下,随后一件一件往堆。

取走时,只能从上面一件一件取。

堆和取都在顶部进行,底部一般是不动的。

栈就是一种类似桶堆积物品的数据结构,进行删除和插入的一端称栈顶,另一堆称栈底。

插入一般称为进栈(PUSH),删除则称为退栈(POP)。

栈也称为后进先出表(LIFO表)。

  (3)线性表的顺序存储结构和线性表的链式存储结构分别是______。

(B)

  A.顺序存取的存储结构、顺序存取的存储结构

  B.随机存取的存储结构、顺序存取的存储结构

  C.随机存取的存储结构、随机存取的存储结构

  D.任意存取的存储结构、任意存取的存储结构

  (4)在单链表中,增加头结点的目的是______。

(A)

  A.方便运算的实现

  B.使单链表至少有一个结点

  C.标识表结点中首结点的位置

  D.说明单链表是线性表的链式存储实现

  (5)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指______。

(B)

  A.模块间的关系

  B.系统结构部件转换成软件的过程描述

  C.软件层次结构

D.软件开发过程

软件设计包括软件的结构设计,数据设计,接口设计和过程设计.

  结构设计是指:

定义软件系统各主要部件之间的关系

  数据设计是指:

将模型转换成数据结构的定义

  接口设计是指:

软件内部,软件和操作系统间以及软件和人之间如何通信

过程设计是指:

系统结构部件转换成软件的过程描述

  (6)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为______。

(B)

  A.PAD图

  B.N-S图

  C.结构图

  D.数据流图

  (7)数据处理的最小单位是______。

(C)

  A.数据

  B.数据元素

  C.数据项

  D.数据结构

  (8)下列有关数据库的描述,正确的是______。

(C)

  A.数据库是一个DBF文件

  B.数据库是一个关系

  C.数据库是一个结构化的数据集合

  D.数据库是一组文件

  (9)单个用户使用的数据视图的描述称为______。

(A)

  A.外模式

  B.概念模式

  C.内模式

  D.存储模式

  (10)需求分析阶段的任务是确定______。

(D)

  A.软件开发方法

  B.软件开发工具

  C.软件开发费用

  D.软件系统功能

(1)在计算机中,算法是指______。

(C)

  A.查询方法

  B.加工方法

  C.解题方案的准确而完整的描述

  D.排序方法

  

(2)栈和队列的共同点是______。

(C)

  A.都是先进后出

  B.都是先进先出

  C.只允许在端点处插入和删除元素

  D.没有共同点

  (3)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______。

(A)

  A.cedba

  B.acbed

  C.decab

D.deabc

从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。

因此,在任一给定结点上,可以按某种次序执行三个操作:

  

(1)访问结点本身(N),

  

(2)遍历该结点的左子树(L),

  (3)遍历该结点的右子树(R)。

  以上三种操作有六种执行次序:

  NLR、LNR、LRN、NRL、RNL、RLN。

  注意:

  前三种次序与后三种次序对称,故只讨论先左后右的前三种次序。

  2.三种遍历的命名

  根据访问结点操作发生位置命名:

  ①NLR:

前序遍历(PreorderTraversal亦称(先序遍历))

  ——访问结点的操作发生在遍历其左右子树之前。

  ②LNR:

中序遍历(InorderTraversal)

  ——访问结点的操作发生在遍历其左右子树之中(间)。

  ③LRN:

后序遍历(PostorderTraversal)

  ——访问结点的操作发生在遍历其左右子树之后。

  注意:

  由于被访问的结点必是某子树的根,所以N(Node)、L(Leftsubtree)和R(Rightsubtree)又可解释为根、根的左子树和根的右子树。

NLR、LNR和LRN分别又称为先根遍历、中根遍历和后根遍历。

  (4)在下列几种排序方法中,要求内存量最大的是______。

(D)

  A.插入排序

  B.选择排序

  C.快速排序

D.归并排序

一、冒泡排序

已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。

首先比较a[1]与a[2]的值,若a[1]大于a[2]则交换两者的值,否则不变。

再比较a[2]与a[3]的值,若a[2]大于a[3]则交换两者的值,否则不变。

再比较a[3]与a[4],以此类推,最后比较a[n-1]与a[n]的值。

这样处理一轮后,a[n]的值一定是这组数据中最大的。

再对a[1]~a[n-1]以相同方法处理一轮,则a[n-1]的值一定是a[1]~a[n-1]中最大的。

再对a[1]~a[n-2]以相同方法处理一轮,以此类推。

共处理n-1轮后a[1]、a[2]、……a[n]就以升序排列了。

优点:

稳定,比较次数已知;

缺点:

慢,每次只能移动相邻两个数据,移动数据的次数多。

二、选择排序

已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。

首先比较a[1]与a[2]的值,若a[1]大于a[2]则交换两者的值,否则不变。

再比较a[1]与a[3]的值,若a[1]大于a[3]则交换两者的值,否则不变。

再比较a[1]与a[4],以此类推,最后比较a[1]与a[n]的值。

这样处理一轮后,a[1]的值一定是这组数据中最小的。

再将a[2]与a[3]~a[n]以相同方法比较一轮,则a[2]的值一定是a[2]~a[n]中最小的。

再将a[3]与a[4]~a[n]以相同方法比较一轮,以此类推。

共处理n-1轮后a[1]、a[2]、……a[n]就以升序排列了。

优点:

稳定,比较次数与冒泡排序一样;

缺点:

相对之下还是慢。

三、插入排序

已知一组升序排列数据a[1]、a[2]、……a[n],一组无序数据b[1]、b[2]、……b[m],需将二者合并成一个升序数列。

首先比较b[1]与a[1]的值,若b[1]大于a[1],则跳过,比较b[1]与a[2]的值,若b[1]仍然大于a[2],则继续跳过,直到b[1]小于a数组中某一数据a[x],则将a[x]~a[n]分别向后移动一位,将b[1]插入到原来a[x]的位置这就完成了b[1]的插入。

b[2]~b[m]用相同方法插入。

(若无数组a,可将b[1]当作n=1的数组a)

优点:

稳定,快;

缺点:

比较次数不一定,比较次数越少,插入点后的数据移动越多,特别是当数据总量庞大的时候,但用链表可以解决这个问题。

四、缩小增量排序

由希尔在1959年提出,又称希尔排序(shell排序)。

已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。

发现当n不大时,插入排序的效果很好。

首先取一增量d(d

优点:

快,数据移动少;

缺点:

不稳定,d的取值是多少,应取多少个不同的值,都无法确切知道,只能凭经验来取。

五、快速排序

快速排序是冒泡排序的改进版,是目前已知的最快的排序方法。

已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。

首先任取数据a[x]作为基准。

比较a[x]与其它数据并排序,使a[x]排在数据的第k位,并且使a[1]~a[k-1]中的每一个数据a[x],然后采用分治的策略分别对a[1]~a[k-1]和a[k+1]~a[n]两组数据进行快速排序。

优点:

极快,数据移动少;

缺点:

不稳定。

六、箱排序

已知一组无序正整数数据a[1]、a[2]、……a[n],需将其按升序排列。

首先定义一个数组x[m],且m>=a[1]、a[2]、……a[n],接着循环n次,每次x[a]++.

优点:

快,效率达到O

(1)

缺点:

数据范围必须为正整数并且比较小

  (5)在设计程序时,应采纳的原则之一是______。

(A)

  A.程序结构应有助于读者理解

  B.不限制goto语句的使用

  C.减少或取消注解行

  D.程序越短越好

  (6)下列不属于软件调试技术的是______。

(B)

  A.强行排错法

  B.集成测试法

  C.回溯法

  D.原因排除法

  (7)下列叙述中,不属于软件需求规格说明书的作用的是______。

(D)

  A.便于用户、开发人员进行理解和交流

  B.反映出用户问题的结构,可以作为软件开发工作的基础和依据

  C.作为确认测试和验收的依据

  D.便于开发人员进行需求分析

  (8)在数据流图(DFD)中,带有名字的箭头表示______。

(C)

  A.控制程序的执行顺序

  B.模块之间的调用关系

  C.数据的流向

  D.程序的组成成分

  (9)SQL语言又称为______。

(C)

  A.结构化定义语言

  B.结构化控制语言

  C.结构化查询语言

D.结构化操纵语言

SQL全称是“结构化查询语言(StructuredQueryLanguage)”

  SQL(STructuredQueryLanguage)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

  SQL同时也是数据库脚本文件的扩展名。

  SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。

他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。

它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。

  (10)视图设计一般有3种设计次序,下列不属于视图设计的是______。

(B)

  A.自顶向下

  B.由外向内

  C.由内向外

  D.自底向上

第二套模拟题

(1)已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为b

 A)GEDHFBCA

 B)DGEBHFCA

 C)ABCDEFGH

 D)ACBFEDHG

(2)树是结点的集合,它的根结点数目是

 A)有且只有1

 B)1或多于1

 C)0或1

 D)至少2

(3)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是

 A)e3,e1,e4,e2

 B)e2,e4,e3,e1

 C)e3,e4,e1,e2

 D)任意顺序

(4)在设计程序时,应采纳的原则之一是

 A)不限制goto语句的使用

 B)减少或取消注解行

 C)程序越短越好

 D)程序结构应有助于读者理解

(5)程序设计语言的基本成分是数据成分、运算成分、控制成分和

 A)对象成分

 B)变量成分

 C)语句成分

 D)传输成分

(6)下列叙述中,不属于软件需求规格说明书的作用的是

 A)便于用户、开发人员进行理解和交流

 B)反映出用户问题的结构,可以作为软件开发工作的基础和依据

 C)作为确认测试和验收的依据

 D)便于开发人员进行需求分析

(7)下列不属于软件工程的3个要素的是

 A)工具

 B)过程

 C)方法

 D)环境

(8)单个用户使用的数据视图的描述称为

 A)外模式

 B)概念模式

 C)内模式

 D)存储模式

(9)将E-R图转换到关系模式时,实体与联系都可以表示成

 A)属性

 B)关系

 C)键

 D)域

(10)SQL语言又称为

 A)结构化定义语言

 B)结构化控制语言

 C)结构化查询语言

 D)结构化操纵语言

(11)数据结构分为逻辑结构与存储结构,线性链表属于【1】。

(12)在面向对象方法中,类之间共享属性和操作的机制称为【2】。

(13)耦合和内聚是评价模块独立性的两个主要标准,其中【3】反映了模块内各成分之间的联系。

耦合是指模块之间的关联程度,而内聚是指模块内部各部分的聚合程度.很显然模块之间的关联度越小,模块内部的聚合越高越容易维护

(14)一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于【4】的联系。

(15)数据库设计分为以下6个设计阶段:

需求分析阶段、【5】、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。

试题解析

  1.解析:

利用前序和中序遍历的方法可以确定二叉树的结构,具体步骤如下:

①前序遍历的第一个结点A为树的根结点;②中序遍历中A的左边的结点为A的左子树,A右边的

结点为A的右子树;③再分别对A的左右子树进行上述两步处理,直到每个结点都找到正确的位置。

  2.解析:

树是一个或多个结点组成的有限集合,其中一个特定的结点称为根,其余结点分为若干个不相交的集合。

每个集合同时又是一棵树。

树有且只有1个根结点。

  3.解析:

由栈"后进先出"的特点可知:

A)中e1不可能比e2先出,C)中e3不可能比e4先出,且e1不可能比e2先出,D)中栈是先进后出的,所以不可能是任意顺序。

B)中出栈

过程如图所示:

  4.解析:

滥用goto语句将使程序流程无规律,可读性差,因此A)不选;注解行有利于对程序的理解,不应减少或取消,B)也不选;程序的长短要依照实际情况而论,而不

是越短越好,C)也不选。

  5.解析:

程序设计语言是用于书写计算机程序的语言,其基本成分有以下4种,数据成分:

用来描述程序中的数据。

运算成分:

描述程序中所需的运算。

控制成分:

用来构造

程序的逻辑控制结构。

传输成分:

定义数据传输成分,如输入输出语言。

  6.解析:

软件需求规格说明书(SRS,SoftwareRequirementSpecification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。

它有以下几个方面的作用:

①便

于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为确认测试和验收的依据。

  7.解析:

软件工程包括3个要素,即方法、工具和过程。

方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制

、管理。

  8.解析:

选项A)正确,外模式是用户

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

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

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

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