公共基础知识选择题真题

更新时间:2023-08-05 12:18:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

公共基础知识

一、数据结构与算法

1、下列叙述中正确的是( )。

A) 算法就是程序

B) 设计算法时只需要考虑数据结构的设计

C) 设计算法时只需要考虑结果的可靠性

D) 以上三种说法都不对

参考答案:D

【解析】算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以A)错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。

2、算法的有穷性是指( )。

A) 算法程序的运行时间是有限的

B) 算法程序所处理的数据量是有限的

C) 算法程序的长度是有限的

D) 算法只能被有限的用户使用

参考答案:A

【解析】算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。

3、下列叙述中正确的是( )。

A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是

相同的

B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存

储结构

C) 线性表的链式存储结构所需要的存储空间一般要少于顺序存

储结构

D) 线性表的链式存储结构与顺序存储结构在存储空间的需求上

没有可比性

参考答案:B

【解析】线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。

4、下列关于栈的叙述中,正确的是

A) 栈底元素一定是最后入栈的元素

1 / 33

B) 栈顶元素一定是最先入栈的元素

C) 栈操作遵循先进后出的原则

D) 以上说法均错误

参考答案:C

【解析】栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的。因此,栈称为先进后出表,或"后进先出"表,所以选择C。

5、算法的空间复杂度是指( )。

A) 算法在执行过程中所需要的计算机存储空间

B) 算法所处理的数据量

C) 算法程序中的语句或指令条数

D) 算法在执行过程中所需要的临时工作单元数

参考答案:A

【解析】算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择A)。

6、下列叙述中正确的是

A) 一个算法的空间复杂度大,则其时间复杂度也必定大

B) 一个算法的空间复杂度大,则其时间复杂度必定小

C) 一个算法的时间复杂度大,则其空间复杂度必定小

D) 算法的时间复杂度与空间复杂度没有直接关系

参考答案:D

【解析】算法的空间复杂度是指算法在执行过程中所需要的内存空间,算法的时间复杂度,是指执行算法所需要的计算工作量,两者之间并没有直接关系,答案为D。

7、定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )。

A) -369

B) 369

C) 0.369

D) 整数集合{1,2,3,4,5}

参考答案:B

【解析】只有B)选项369可以用无符号整数来表示和存储。A)选项

2 / 33

-369有负号,选项C)0.369是小数都不能用无符号整数类存储。选项D)是一个整数集合得用数组来存储。

8、下列叙述中正确的是( )。

A) 程序执行的效率与数据的存储结构密切相关

B) 程序执行的效率只取决于程序的控制结构

C) 程序执行的效率只取决于所处理的数据量

D) 以上说法均错误

参考答案:A

【解析】程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。

9、下列叙述中正确的是( )。

A) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

B) 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

C) 顺序存储结构能存储有序表,链式存储结构不能存储有序表

D) 链式存储结构比顺序存储结构节省存储空间

参考答案:A

【解析】链式存储结构既可以针对线性结构也可以针对非线性结构,所以B)与C)错误。链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以D)错误。

10、下列叙述中正确的是( )。

A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的

B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构

C) 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构

D) 线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性

参考答案:B

【解析】线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。

3 / 33

11、下列叙述中正确的是( )。

A) 线性表链式存储结构的存储空间一般要少于顺序存储结构

B) 线性表链式存储结构与顺序存储结构的存储空间都是连续的

C) 线性表链式存储结构的存储空间可以是连续的,也可以是不连续的

D) 以上说法均错误

参考答案:C

【解析】线性表的顺序存储结构具备如下两个基本特征:(1)线性表中的所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。用一组任意的存储单元来依次存放线性表的结点,这组存储单元既可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。因此C正确。

12、下列叙述中正确的是( )。

A) 栈是"先进先出"的线性表

B) 队列是"先进后出"的线性表

C) 循环队列是非线性结构

D) 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

参考答案:D

【解析】栈是先进后出的线性表,所以A)错误;队列是先进先出的线性表,所以B)错误;循环队列是线性结构的线性表,所以C)错误。

13、一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、

D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。

A) 12345ABCDE

B) EDCBA54321

C) ABCDE12345

D) 54321EDCBA

参考答案:B

【解析】栈是先进后出的原则组织数据,所以入栈最早的最后出栈,所以选择B)。

14、下列关于栈的叙述正确的是( )。

A) 栈按"先进先出"组织数据

4 / 33

B) 栈按"先进后出"组织数据

C) 只能在栈底插入数据

D) 不能删除数据

参考答案:B

【解析】栈是按"先进后出"的原则组织数据的,数据的插入和删除都在栈顶进行操作。

15、下列叙述中正确的是( )。

A) 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化

B) 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

C) 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

D) 以上说法都不正确

参考答案:C

【解析】栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作,所以选择C)。

16、下列关于栈叙述正确的是( )。

A) 栈顶元素最先能被删除

B) 栈顶元素最后才能被删除

C) 栈底元素永远不能被删除

D) 栈底元素最先被删除

参考答案:A

【解析】栈是先进后出的数据结构,所以栈顶元素最后入栈却最先被删除。栈底元素最先入栈却最后被删除。所以选择A)。

17、下列叙述中正确的是( )。

A) 栈是一种先进先出的线性表

B) 队列是一种后进先出的线性表

C) 栈与队列都是非线性结构

D) 以上三种说法都不对

参考答案:D

【解析】栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构。

18、下列关于栈的叙述中,正确的是( )。

5 / 33

A) 栈底元素一定是最后入栈的元素

B) 栈顶元素一定是最先入栈的元素

C) 栈操作遵循先进后出的原则

D) 以上说法均错误

参考答案:C

【解析】栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的。因此,栈称为先进后出表,或"后进先出"表,所以选择C。

19、一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是( )。

A) 1,2,3,A,B,C

B) C,B,A,1,2,3

C) C,B,A,3,2,1

D) 1,2,3,C,B,A

参考答案:C

【解析】栈的修改是按后进先出的原则进行的,所以顺序应与入栈顺序相反,故选C。

20、下列关于栈的叙述中,正确的是

A) 栈底元素一定是最后入栈的元素

B) 栈顶元素一定是最先入栈的元素

C) 栈操作遵循先进后出的原则

D) 以上说法均错误

参考答案:C

【解析】栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的。因此,栈称为先进后出表,或"后进先出"表,所以选择C。

21、下列数据结构中,能够按照"先进后出"原则存取数据的是( )。

A) 循环队列

B) 栈

C) 队列

6 / 33

D) 二叉树

参考答案:B

【解析】栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据。

22、下列与队列结构有关联的是( )。

A) 函数的递归调用

B) 数组元素的引用

C) 多重循环的执行

D) 先到先服务的作业调度

参考答案:D

【解析】队列的修改是依先进先出的原则进行的,D正确。

23、对于循环队列,下列叙述中正确的是( )。

A) 队头指针是固定不变的

B) 队头指针一定大于队尾指针

C) 队头指针一定小于队尾指针

D) 队头指针可以大于队尾指针,也可以小于队尾指针

参考答案:D

【解析】循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构所以对头指针有时可能大于队尾指针有时也可能小于队尾指针。

24、下列叙述中正确的是( )。

A) 循环队列是队列的一种链式存储结构

B) 循环队列是队列的一种顺序存储结构

C) 循环队列是非线性结构

D) 循环队列是一种逻辑结构

参考答案:B

【解析】在实际应用中,队列的顺序存储结构一般采用循环队列的形式。

25、设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。

A) 15

B) 16

7 / 33

C) 20

D) 0或35

参考答案:D

【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头尾指针仍要加1,朝前移动。只不过当头尾指针指向向量上界时,其加1操作的结果是指向向量的下界0。由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。答案为D选项。

26、下列叙述中正确的是( )。

A) 循环队列中的元素个数随队头指针与队尾指针的变化而动态变化

B) 循环队列中的元素个数随队头指针的变化而动态变化

C) 循环队列中的元素个数随队尾指针的变化而动态变化

D) 以上说法都不对

参考答案:A

【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。所以循环队列中的元素个数与队头指针和队尾指针的变化而变化,A正确。

27、下列数据结构中,属于非线性结构的是( )。

A) 循环队列

B) 带链队列

C) 二叉树

D) 带链栈

参考答案:C

【解析】树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。

28、下列关于线性链表的叙述中,正确的是( )。

A) 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致

B) 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储

8 / 33

空间必须连续

C) 进行插入与删除时,不需要移动表中的元素

D) 以上说法均不正确

参考答案:C

【解析】一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。

29、下列链表中,其逻辑结构属于非线性结构的是( )。

A) 二叉链表

B) 循环链表

C) 双向链表

D) 带链的栈

参考答案:A

【解析】在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表(一个结点中含有两个指针),也是线性链表。循环链表具有单链表的特征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性链表。二叉链表是二叉树的物理实现,是一种存储结构,不属于线性结构。答案为A选项。

30、支持子程序调用的数据结构是( )。

A) 栈

B) 树

C) 队列

D) 二叉树

参考答案:A

【解析】栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点,因

9 / 33

此本题的答案为A)。

31、某系统总体结构图如下图所示:

该系统总体结构图的深度是( )。

A) 7

B) 6

C) 3

D) 2

参考答案:C

【解析】根据总体结构图可以看出该树的深度为3,比如:XY系统--功能2--功能2.1,就是最深的度数的一个表现。

32、某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( )。

A) 10

B) 8

C) 6

D) 4

参考答案:C

【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子节点总是比度为2的节点多一个,所以本题中是5+1=6个。

33、下列关于二叉树的叙述中,正确的是( )。

A) 叶子结点总是比度为2的结点少一个

B) 叶子结点总是比度为2的结点多一个

C) 叶子结点数是度为2的结点数的两倍

D) 度为2的结点数是度为1的结点数的两倍

参考答案:B

【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个。所以选择B)。

34、某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。

10 / 33

本文来源:https://www.bwwdw.com/article/xz3m.html

Top