计算机二级公共基础.docx
- 文档编号:24424403
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:16
- 大小:20.57KB
计算机二级公共基础.docx
《计算机二级公共基础.docx》由会员分享,可在线阅读,更多相关《计算机二级公共基础.docx(16页珍藏版)》请在冰豆网上搜索。
计算机二级公共基础
二级公共基础
1数据结构与算法
1.1算法
1.下列叙述中正确的是______。
A所谓算法就是计算方法
B程序可以作为算法的一种描述方法
C算法设计只需考虑得到计算结果
D算法设计可以忽略算法的运算时间
本题考查知识点是算法的概念。
算法不等于程序,也不等于计算方法。
当然,程序也可以作为算法的一种描述,但程序通常还需考虑很多与方法和分析无关的细节问题,这是因为在编写程序是要受到计算机系统运行环境的限制。
2.下列关于算法的描述中错误的是______。
A算法强调动态的执行过程,不同于静态的计算公式
B算法必须能在有限个步骤之后终止
C算法设计必须考虑算法的复杂度
D算法的优劣取决于运行算法程序的环境
本题考查知识点是算法。
算法的基本特征有可行性、确定性、有穷性、拥有足够的情报,所以A、B是正确的。
算法的设计要求包括效率与低存储量,即要考虑算法的时间复杂度与空间复杂度,所以C是正确的,算法的优劣与算法描述语言有关,与所用计算机无关。
3.下面叙述正确的是______。
A算法的执行效率与数据的存储结构无关
B算法的空间复杂度是指算法程序中指令(或语句)的条数
C算法的有穷性是指算法必须能在执行有限个步骤之后终止
D以上三种描述都不对
算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。
数据结构和算法是计算机科学的两个重要支柱。
它们是一个不可分割的整体。
算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。
算法的有穷性是指一个算法必须在执行有限的步骤以后结束
4.在下列选项中,哪个不是一个算法一般应该具有的基本特征______。
A确定性
B可行性
C无穷性
D拥有足够的情报
作为一个算法,一般应具有以下几个基本特征。
1、可行性
2、确定性
3、有穷性
4、拥有足够的情报
5.在计算机中,算法是指______。
A查询方法
B加工方法
C解题方案的准确而完整的描述
D排序方法
计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征:
可行性、确定性、有穷性和拥有足够的情报。
6.算法的有穷性是指______。
A算法程序的运行时间是有限的
B算法程序所处理的数据量是有限的
C算法程序的长度是有限的
D算法只能被有限的用户使用
算法的有穷性,是指算法必须在有限的时间内做完,即算法必须能在执行有限个步骤之后终止
7.下列叙述中正确的是______。
A算法的复杂度用于衡量算法的控制结构
B算法的有穷性是指算法的规模不能太大
C程序可以作为算法的一种表达方式
D算法的效率与数据的存储结构无关
本题考查知识点是算法。
所谓算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,但是,程序可以作为算法的一种描述。
算法中各操作之间的执行顺序称为算法的控制结构,所以选项A错误。
算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须在执行有限个步骤之后终止,所以选项B错误。
算法的效率与数据的存储结构息息相关,所以选项D错误。
8.下列叙述中正确的是______。
A算法就是程序
B设计算法时只需要考虑数据结构的设计
C设计算法只需要考虑结果的可靠性
D设计算法时要考虑时间复杂度和空间复杂度
算法是指解题方案的准确而完整的描述。
但算法不等于程序,也不等于计算方法。
当然,程序也可以作为算法的一种描述,但程序通常还需要考虑很多与方法和分析无关的细节问题,这是因为在编写程序时要受到计算机系统运行环境的限制。
通常,程序的编制不可能优于算法的设计。
因此选项A不正确。
作为一个算法,一般应具有可行性、确定性、有穷性、拥有足够情报四个基本特征。
因此设计算法时不仅仅要考虑结果的可靠性,即不仅考虑算法结果的可行性,还要考虑步骤的确定性,时间和步骤的有穷性等。
因此选项C不正确。
因此,算法是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。
一个算法通常由两种基本要素组成:
一是对数据对象的运算和操作,二是算法的控制结构。
因此设计算法时不仅需要考虑数据结构的设计,还要考虑数据的操作和运算及各操作之间的执行顺序。
因此选项B也不正确。
9.下列关于算法复杂度叙述正确的是______。
A最坏情况下的时间复杂度一定高于平均情况的时间复杂度
B时间复杂度与所用的计算工具无关
C对同一个问题,采用不同的算法,则它们的时间复杂度是相同的
D时间复杂度与采用的算法描述语言有关
本题考查知识点是算法复杂度。
所谓算法的时间复杂度,是指执行算法所需要的计算工作量。
为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。
所以选项B正确,选项D不正确。
同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。
算法分析的目的在于选择合适算法和改进算法。
选项C不正确。
堆排序在平均情况下的时间复杂度和在最坏情况下的时间复杂度都是O(nlogn)。
选项A不正确。
10.为了降低算法的空间复杂度,要求算法尽量采用原地工作(inplace)。
所谓原地工作是指______。
A执行算法时不使用任何存储空间
B执行算法时所使用的额外空间随算法所处理的数据空间大小的变化而变化
C执行算法时不使用额外空间
D执行算法时所使用的额外空间固定(即不随算法所处理的数据空间大小的变化而变化)
本题考查知识点是算法。
一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
一个算法所占用的存储空间包括程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。
其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。
如果额外空间相对于问题规模来说是常数,则称该算法是原地(inplace)工作的。
11.下列叙述中正确的是______。
A对同一批数据作不同的处理,如果数据存储结构相同,不同算法的时间复杂度肯定相同
B解决同一个问题的不同算法的时间复杂度必定是相同的
C对同一批数据作同一种处理,如果数据存储结构不同,不同算法的时间复杂度肯定相同
D解决同一个问题的不同算法的时间复杂度一般是不同的
本题考查知识点是算法。
所谓算法的时间复杂度,是指执行算法所需要的计算工作量。
解决同一个问题的不同算法的时间复杂度一般是不同的,时间复杂度也能够反映出一个算法的优劣程度。
12.下列叙述中正确的是______。
A算法复杂度是指算法控制结构的复杂程度
B算法复杂度是指设计算法的难度
C算法的时间复杂度是指设计算法的工作量
D算法的复杂度包括时间复杂度与空间复杂度
本题考查知识点是算法复杂度。
算法的复杂度主要包括时间复杂度和空间复杂度。
所谓算法的时间复杂度,是指执行算法所需要的计算工作量;一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
13.下列叙述中正确的是______。
A算法的空间复杂度是指算法程序控制结构的复杂程度。
B算法的空间复杂度与算法所处理的数据存储空间有关。
C算法的空间复杂度是指算法程序中指令的条数。
D压缩数据存储空间不会降低算法的空间复杂度。
本题的考查知识点是算法复杂度。
算法的复杂度包括空间复杂度和时间复杂度,一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
算法的时间复杂度,一般是指执行算法所需要的计算工作量,包括算法程序控制结构以及指令的条数,所以选项A、C错误;在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间,所以选项D错误。
14.下列叙述中正确的是______。
A算法复杂度是指算法控制结构的复杂程度。
B算法设计只需考虑结果的可靠性。
C数据的存储结构会影响算法的效率。
D算法复杂度是用算法中指令的条数来度量的。
本题考查的知识点是算法。
算法的设计要求包括效率与低存储量,即要考虑算法的时间复杂度与空间复杂度。
因此选项B错误;算法的复杂度主要包括时间复杂度和空间复杂度。
所谓算法的时间复杂度,是指执行算法所需要的计算工作量;一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间,因此选项A、D错误。
15.下列叙述中正确的是______。
A一个算法的空间复杂度大,则其时间复杂度也必定大
B一个算法的空间复杂度大,则其时间复杂度必定小
C一个算法的时间复杂度大,则其空间复杂度必定小
D算法的时间复杂度与空间复杂度没有直接关系
本题的考查知识点是算法复杂度。
算法的复杂度主要包括时间复杂度和空间复杂度:
算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度;算法的时间复杂度是指执行算法所需要的计算工作量,即算法执行过程中所需要的基本运算次数,为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。
为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
16.算法的空间复杂度是指______。
A算法在执行过程中所需要的计算机存储空间
B算法所处理的数据量
C算法程序中的语句或指令条数
D算法在执行过程中所需要的临时工作单元数
一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
17.算法的时间复杂度是指______。
A设计该算法所需的工作量
B执行该算法所需要的时间
C算法中指令的条数
D执行该算法时所需要的基本运算次数
所谓算法的时间复杂度,是指执行算法所需要的计算工作量。
为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。
为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
18.算法时间复杂度的度量方法是______。
A算法程序的长度
B执行算法所需要的基本运算次数
C执行算法所需要的所有运算次数
D执行算法所需要的时间
所谓算法的时间复杂度,是指执行算法所需要的计算工作量。
为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。
为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
19.算法空间复杂度的度量方法是______。
A算法程序的长度
B算法所处理的数据量
C执行算法所需要的工作单元
D执行算法所需要的存储空间
本题考查的知识点是算法的空间复杂度。
一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
20.下列叙述中错误的是______。
A算法的时间复杂度与算法所处理数据的存储结构有直接关系
B算法的空间复杂度与算法所处理数据的存储结构有直接关系
C算法的时间复杂度与空间复杂度有直接关系
D算法的时间复杂度与空间复杂度没有关系
本题考查的知识点是算法复杂度。
算法复杂度主要包括时间复杂度和空间复杂度。
所谓算法的时间复杂度,是执行算法所需要的计算工作量。
一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
二者没有直接关系。
21.算法分析的目的是______。
A找出数据结构的合理性
B找出算法中输入和输出之间的关系
C分析算法的易懂性和可靠性
D分析算法的效率以求改进
算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。
分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。
22.下列叙述中正确的是______。
A一个算法的空间复杂度大,则其时间复杂度也必定大
B一个算法的空间复杂度大,则其时间复杂度必定小
C一个算法的时间复杂度大,则其空间复杂度必定小
D上述三种说法都不对
算法的复杂度主要包括时间复杂度和空间复杂度:
算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度;算法的时间复杂度是指执行算法所需要的计算工作量,即算法执行过程中所需要的基本运算次数,为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。
为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
23.下列叙述中正确的是______。
A算法的效率只与问题的规模有关,而与数据的存储结构无关
B算法的时间复杂度是指执行算法所需要的计算工作量
C数据的逻辑结构与存储结构是一一对应的
D算法的时间复杂度与空间复杂度一定相关
我们通常用时间复杂度和空间复杂度来衡量算法效率,算法的时间复杂度是指执行算法所需要的计算工作量;算法所执行的基本运算次数与问题的规模有关,而一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间;一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构。
24.下列叙述中正确的是______。
A算法的时间复杂度与计算机的运行速度有关
B算法的时间复杂度与运行算法时特定的输入有关
C算法的时间复杂度与算法程序中的语句条数成正比
D算法的时间复杂度与算法程序编制者的水平有关
本题的考查知识点是时间复杂度。
算法的时间复杂度,是指执行算法所需要的计算工作量。
在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。
为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
对于一个固定的规模,算法所执行的基本运算次数还可能与特定的输入有关。
25.下列叙述中错误的是______。
A对于各种特定的输入,算法的时间复杂度是固定不变的
B算法的时间复杂度与使用的计算机系统无关
C算法的时间复杂度与使用的程序设计语言无关
D算法的时间复杂度与实现算法过程中的具体细节无关
本题的考查知识点是时间复杂度。
算法的时间复杂度,是指执行算法所需要的计算工作量。
在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。
为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
对于一个固定的规模,算法所执行的基本运算次数还可能与特定的输入有关。
26下列叙述中正确的是______。
A算法的复杂度与问题的规模无关
B算法的优化主要通过程序的编制技巧来实现
C对数据进行压缩存储会降低算法的空间复杂度
D数值型算法只需考虑计算结果的可靠性
本题的考查知识点是算法。
算法的时间复杂度,是指执行算法所需要的计算工作量。
不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。
为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
一个算法所占用的存储空间包括算法程序所占的空间,输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。
在许多实际问题中,通常采用压缩存储技术,以便尽量减少不必要的额外空间。
27.下列叙述中正确的是______。
A解决一个问题可以有不同的算法,且它们的时间复杂度可以是不同的
B解决一个问题可以有不同的算法,但它们的时间复杂度必定是相同的
C解决一个问题的算法是唯一的
D算法的时间复杂度与计算机系统有关
本题的考查知识点是算法的时间复杂度。
算法的时间复杂度,是指执行算法所需要的计算工作量。
在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。
一个问题可以有多种算法,每种算法的时间复杂度与该算法所需的工作量有关,可以是不同的。
28.下列叙述中错误的是______。
A算法的时间复杂度与问题规模无关
B算法的时间复杂度与计算机系统无关
C算法的时间复杂度与空间复杂度没有必然的联系
D算法的空间复杂度与算法运行输出结果的数据量无关
本题的考查知识点是算法复杂度。
算法的时间复杂度,是指执行算法所需要的计算工作量。
不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。
为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
算法所执行的基本运算次数还与问题的规模有关。
算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
一个算法所占用的存储空间包括算法程序所占的空间,输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。
29.在长度为n的顺序表中寻找最大项,需要比较的次数至少是______。
An+1
Bn/2
Cn
Dn-1
在线性表中寻找最大项时,除了最大项本身以外,其余所有项都需要和相邻的数据进行比较,所以需要比较的次数至少是n-1。
30.下列排序法中,最坏情况下排序速度最快的是______。
A希尔排序
B快速排序
C冒泡排序
D简单选择排序
冒泡排序、快速排序、简单选择排序的最坏时间复杂度是O(n^2)。
希尔排序的时间复杂度与增量序列的选取有关,最坏情况下比其他三项排序更快。
31.下列叙述中正确的是______。
A算法时间复杂度的度量与计算机存储空间有关
B算法时间复杂度的度量与计算机运行速度有关
C算法空间复杂度的度量与数据的存储结构无关
D数据的处理效率与数据的存储结构有关
本题考查的知识点是算法复杂度。
算法时间复杂度是指执行算法所需要的计算工作量,用算法在执行过程中所需基本运算的执行次数来度量算法的工作量,所以和计算机运行速度以及存储空间无关。
算法的空间复杂度是指执行算法所需要的内存空间,所以和数据的存储结构有关。
32.设表的长度为n。
在下列结构所对应的算法中,最坏情况下时间复杂度最低的是______。
A循环链表中寻找最大项
B有序链表查找
C堆排序
D希尔排序
本题的考查知识点是时间复杂度。
最坏情况下,希尔排序的时间复杂度为O(n1.5);堆排序的时间复杂度是O(nlog2n);有序链表查找的时间复杂度为O(n);循环链表中寻找最大项的时间复杂度为O(n-1)。
33.下列叙述中正确的是______。
A算法的时间复杂度是指算法在执行过程中基本运算的次数
B算法的时间复杂度是指算法执行所需要的时间
C算法的时间复杂度是指算法执行的速度
D算法复杂度是指算法控制结构的复杂程度
算法的复杂度主要包括时间复杂度和空间复杂度:
算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度;算法的时间复杂度是指执行算法所需要的计算工作量,即算法执行过程中所需要的基本运算次数。
34.下列算法中,最坏情况下时间复杂度最低的是______。
A有序表的对分查找
B寻找最大项
C顺序查找
D堆排序
对于长度为n的有序线性表,在最坏情况下,二分查找的时间复杂度为O(log2n);顺序查找的时间复杂度为O(n);寻找最大项的时间复杂度为O(n-1);堆排序的时间复杂度为O(nlog2n)。
35.下列各组算法中,最坏情况下其时间复杂度相同的是______。
A冒泡排序与快速排序
B直接插入排序与希尔排序
C简单选择排序与堆排序
D快速排序与希尔排序
(1)冒泡排序法:
是一种最简单的交换类排序法,它是通过相邻数据元素的交换逐步将线性表变成有序。
假设线性表的长度为n,若初始序列为"正序"序列,则只需进行一趟排序,在排序过程中进行n-1次关键字间的比较,且不移动记录;反之,若初始序列为"逆序"序列,则需进行n-1趟排序,需进行n(n-1)/2次比较,并作等数量级的记录移动。
因此冒泡排序总的时间复杂度为O(
)。
2)快速排序:
通常,快速排序被认为是,所有同数量级(O(nlogn))的排序方法中,其平均性能最好。
但是,若初始记录序列按关键字有序或基本有序时,快速排序将蜕化为起泡排序,其时间复杂度为O(
)。
(3)堆排序法:
堆排序的方法为:
①首先将一个无序序列建成堆。
②然后将堆顶元素(序列中的最大项)与堆中最后一个元素交换(最大项应该在序列的最后)。
堆排序在最坏的情况下,其时间复杂度为O(nlogn)。
(4)希尔排序:
将整个无序序列分割成若干小的子序列分别进行插入排序。
在最坏情况下,希尔排序所需的比较次数为O(
)。
36.下列各组算法中,最坏情况下其时间复杂度不同的是______。
A快速排序与希尔排序
B冒泡排序与直接插入排序
C直接插入排序与简单选择排序
D冒泡排序与快速排序
对于长度为n的有序线性表,在最坏情况下,冒泡排序、快速排序、简单选择排序、直接插入排序的最坏时间复杂度是O(
);堆排序的时间复杂度为O(nlog2n);希尔排序的时间复杂度为O(
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 公共 基础