- 全国计算机等级考试教程:二级公共基础与C语言
- 董琴 邵洪成 陈瑾 孙久 严长虹
- 5961字
- 2021-03-31 07:36:34
习题
一、选择题
1.在计算机中,算法是指________。
A.加工方法 B.查询方法
C.排序方法 D.解题方案的准确而完整的描述
2.在下列选项中,________不是一个算法一般应该具有的基本特征。
A.确定性 B.可行性
C.无穷性 D.输入/输出性
3.算法分析的目的是________。
A.找出数据结构的合理性 B.找出算法中输入和输出之间的关系
C.分析算法的易懂性和可靠性 D.分析算法的效率以求改进
4.下面叙述正确的是________。
A.算法的执行效率与数据的存储结构无关
B.算法的空间复杂度是指算法程序中指令(或语句)的条数
C.算法的有穷性是指算法必须能在执行有限个步骤之后终止
D.以上三种描述都不对
5.算法的有穷性是指________。
A.算法程序的运行时间是有限的 B.算法程序所处理的数据量是有限的
C.算法程序的长度是有限的 D.算法只能被有限的用户使用
6.算法的时间复杂度是指________。
A.算法的执行时间 B.算法所处理的数据量
C.算法执行过程中所需要的基本运算次数 D.算法程序中的语句或指令条数
7.算法的空间复杂度是指________。
A.算法程序中的语句或指令条数 B.算法在执行过程中所需要的计算机存储空间
C.算法所处理的数据量 D.算法在执行过程中所需要的临时工作单元数
8.算法的时间复杂度取决于________。
A.问题的规模 B.待处理的数据的初态
C.问题的难度 D.A和B
9.数据结构作为计算机的一门学科,主要研究数据的存储结构、对各种数据结构进行的运算,以及________。
A.数据的逻辑结构 B.计算方法 C.数据映像 D.逻辑存储
10.数据在计算机存储中的表示是指________。
A.数据的存储结构 B.数据结构
C.数据的逻辑结构 D.数据元素之间的关系
11.数据的存储结构是指________。
A.存储在外存中的数据 B.数据所占的存储空间量
C.数据在计算机中的顺序存储方式 D.数据的逻辑结构在计算机中的表示
12.下列叙述中,错误的是________。
A.数据的存储结构与数据处理的效率密切相关
B.数据的存储结构与数据处理的效率无关
C.数据的存储结构在计算机中所占的空间不一定是连续的
D.一种数据的逻辑结构可以有多种存储结构
13.在数据结构中,与所使用的计算机无关的是数据的________。
A.存储结构 B.物理结构 C.逻辑结构 D.物理和存储结构
14.根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成________。
A.动态结构和静态结构 B.线性结构和非线性结构
C.紧凑结构和非紧凑结构 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,则可能的出栈序列是________。
A.CADB B.CDAB C.BDCA D.CABD
23.栈底至栈顶依次存放元素A、B、C、D、E,在第六个元素F入栈前,栈中元素可以出栈,则出栈序列可能是________。
A.ABCEDF B.FDCBEA C.EDFCBA D.FCDABE
24.若进栈序列为a1,a2,a3,a4,进栈过程中可以出栈,则下列不可能的一个出栈序列是________。
A.a1,a4,a3,a2 B.a2,a3,a4,a1
C.a3,a1,a4,a2 D.a3,a4,a2,a1
25.由两个栈共享一个存储空间的好处是________。
A.减少存取时间,降低下溢发生的几率
B.节省存储空间,降低上溢发生的几率
C.减少存取时间,降低上溢发生的几率
D.节省存储空间,降低下溢发生的几率
26.下列叙述中正确的是________。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D.上述三种说法都不对
27.一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用________。
A.链表 B.堆 C.数组 D.栈
28.下列关于队列的叙述中正确的是________。
A.在队列中在队头插入数据 B.在队列中在队尾删除数据
C.队列是先进后出的线性表 D.队列是先进先出的线性表
29.一个队列的入队序列是A,1,B,2,C,3,D,4,E,5则队列的输出字母序列是________。
A.E,D,C,B,A B.A,B,C,D,E C.A,D,E,C,B D.C,B,D,A,E
30.下列叙述中正确的是________。
A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D.循环队列中元素的个数是由队头指针和队尾指针共同决定
31.线性表L=(a1,a2,a3,…,ai,…,an),下列说法正确的是________。
A.每个元素都有一个直接前件和直接后件
B.线性表中至少要有—个元素
C.除第—个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和后件
D.表中诸元素的排列顺序必须是由小到大或由大到小
32.栈和队列的共同特点是________。
A.都是后进后出 B.都是后进先出
C.没有共同点 D.只允许在端点处插入和删除元素
33.对线性表,在下列情况下应当采用链表表示的是________。
A.经常需要随机地存取元素 B.经常需要进行插入和删除操作
C.表中元素需要占据一片连续的存储空间 D.表中元素的个数不变
34.用链表表示线性表的优点是________。
A.便于随机存取 B.花费的存储空间较顺序存储少
C.便于插入和删除操作 D.数据元素的物理顺序与逻辑顺序相同
35.链表不具有的特点是________。
A.不必事先估计存储空间 B.可随机访问任一元素
C.插入删除不需要移动元素 D.所需空间与线性表长度成正比
36.线性表若采用链式存储结构时,要求内存中可用存储单元的地址________。
A.必须是连续的 B.连续不连续都可以
C.一定是不连续的 D.部分地址必须是连续的
37.线性表的顺序存储结构和线性表的链式存储结构分别是________。
A.顺序存取的存储结构、顺序存取的存储结构
B.随机存取的存储结构、顺序存取的存储结构
C.随机存取的存储结构、随机存取的存储结构
D.任意存取的存储结构、任意存取的存储结构
38.循环链表的主要优点是________。
A.从表中任一结点出发都能访问到整个链表
B.不再需要头指针
C.在进行插入、删除运算时,能更好地保证链表不断开
D.已知某个结点的位置后,能够容易地找到它的直接前件
39.在单链表中,增加头结点的目的是________。
A.方便运算的实现 B.使单链表至少有一个结点
C.标识表结点中首结点的位置 D.说明单链表是线性表的链式存储实现
40.NULL是指________。
A.0 B.空格
C.未知的值或无任何值 D.空字符串
41.与单链表相比,双向链表的优点之一是________。
A.插入、删除操作更加简单 B.顺序访问相邻结点更加灵活
C.可以省略表头指针或表尾指针 D.可以随机访问
42.树是结点的集合,它的根结点数目是________。
A.1或多于1 B.有且只有1 C.0或1 D.至少2
43.下列有关树的概念错误的是________。
A.一棵树中只有一个无前驱的结点
B.一棵树的度为树中各个结点的度数之和
C.一棵树中,每个结点的度数之和等于结点总数减1
D.一棵树中每个结点的度数之和与边的条数相等
44.树最适合用来表示________。
A.有序数据元素 B.无序数据元素
C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据
45.下面关于二叉树的描述正确的是________。
A.一棵二叉树中叶子结点的个数等于度为2的结点的个数加1
B.一棵二叉树中的结点个数大于0
C.二叉树中任何一个结点要么是叶,要么恰有两个子女
D.二叉树中,任何一个结点的左子树和右子树上的结点个数一定相等
46.具有3个结点的树有________种形态。
A.1 B.2 C.3 D.4
47.具有3个结点的二叉树有________种形态。
A.2 B.4 C.5 D.7
48.设树T的深度为4,其中度为1,2,3,4的结点个数分别为4,3,2,1,则T中的叶子结点为________。
A.11 B.10 C.9 D.8
49.一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的结点总数应该为________。
A.219 B.221 C.229 D.231
50.在一棵二叉树上第7层的结点数最多是________。
A.16 B.32 C.64 D.128
51.在深度为6的满二叉树中,叶子结点的个数为________。
A.32 B.31 C.16 D.15
52.在深度为7的满二叉树中,度为2结点的个数为________。
A.64 B.63 C.32 D.31
53.下面关于完全二叉树的叙述中,错误的是________。
A.除了最后一层外,每一层上的结点数均达到最大值
B.可能缺少若干个左右叶子结点
C.完全二叉树一般不是满二叉树
D.具有n个结点的完全二叉树的深度至少为log2n+1
54.在一棵非空二叉树的中序遍历中,根结点的右边________。
A.只有右子树上的所有结点 B.只有右子树上的部分结点
C.只有左子树上的部分结点 D.只有左子树上的所有结点
55.设t,k为一棵二叉树上的两个结点,在中序遍历中,t在k后的条件是________。
A.t在k右树上 B.t是k的祖先
C.t在k左树上 D.t是k的子孙
56.设有如右图所示二叉树:
对此二叉树的中序遍历结果为________。
A.ABCDEF B.DBEACF
C.ABDECF D.DEBFCA
57.设有如右图所示二叉树:
对此二叉树前序遍历的结果为________。
A.ZBTYCPKXAH B.ABTKYPCXZH
C.ZBTACYXPKH D.ATBZXCPKYH
58.已知二叉树后序遍历序列是DABEC,中序遍历序列是DEBAC,它的前序遍历序列是________。
A.ACBED B.DCABE
C.CEDBA D.DEABC
59.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为________。
A.DGEBHFCA B.GEDHFBCA C.ACBFEDHG D.ABCDEFGH
60.若某二叉树的后序遍历访问顺序是GDBEHFCA,中序遍历访问顺序是DGBAECHF,则其前序遍历的结点访问顺序是________。
A.BDGCEFHA B.GDBECFHA C.ABDGECHF D.ABDGCEFH
61.任何一棵二叉树的叶子结点在先序、中序和后序遍历序列中的相对次序________。
A.发生改变 B.不发生改变 C.不能确定 D.以上都不对
62.设有两个串p和q,求q在p中首次出现位置的运算称为________。
A.连接 B.模式匹配 C.求子串 D.求串长
63.串的长度是________。
A.串中不同字符的个数 B.串中所含字符的个数且字符个数大于零
C.串中不同字母的个数 D.串中所含字符的个数
64.对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为________。
A.n+1 B.n C.(n+1)/2 D.n/2
65.对长度为n的线性表进行二分查找,在最坏情况下所需要的比较次数为________。
A.n+1 B.log2n C.log2(n+1)/2 D.n/2
66.下列叙述中正确的是________。
A.对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B.对长度为n的有序链表进行二分查找,最坏情况下需要的比较次数为n/2
C.对长度为n的有序链表进行二分查找,最坏情况下需要的比较次数为log2n
D.对长度为n的有序链表进行二分查找,最坏情况下需要的比较次数为nlog2n
67.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是________。
A.快速排序 B.冒泡排序 C.直接插入排序 D.堆排序
68.顺序查找适合于存储结构为________的线性表。
A.散列存储 B.顺序存储或链式存储
C.压缩存储 D.索引存储
69.下列数据结构中,能用二分法进行查找的是________。
A.顺序存储的有序线性表 B.线性链表
C.二叉链表 D.有序线性链表
70.对线性表进行折半查找时,要求线性表必须________。
A.以顺序方式存储
B.以链接方式存储
C.以顺序方式存储,且结点按关键字有序排列
D.以链接方式存储,且结点按关键字有序排列
71.堆排序属于________。
A.交换排序 B.归并排序 C.选择排序 D.插入排序
72.最简单的交换排序方法是________。
A.快速排序 B.选择排序 C.堆排序 D.冒泡排序
73.在待排序的元素序列基本有序的前提下,效率最高的排序方法是________。
A.冒泡排序 B.选择排序 C.快速排序 D.归并排序
74.在下列几种排序方法中,要求内存量最大的是________。
A.插入排序 B.选择排序 C.快速排序 D.归并排序
75.已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是________。
A.堆排序 B.直接插入排序 C.快速排序 D.直接选择排序
二、填空题
1.算法的基本特征是可行性、确定性、________和________。
2.算法的工作量大小和实现算法所需的存储单元多少分别称为算法的________和________。
3.数据结构包括数据的逻辑结构、数据的________以及对数据的操作运算。
4.数据的逻辑结构有线性结构和________两大类。
5.在复杂的线性表中,一个数据元素可以由若干个数据项组成,由若干个数据项组成的数据元素称为________,而由多个记录构成的线性表称为________。
6.数据结构分为逻辑结构与存储结构,线性链表属于________。
7.顺序存储方法是把逻辑上相邻的结点存储在物理位置________的存储单元中。
8.栈的基本运算有三种:入栈、退栈和________。
9.栈和队列通常采用的存储结构是________。
10.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算,这种情况称为________。
11.用链表表示线性表的突出优点是________。
12.当线性表采用顺序存储结构实现存储时,其主要特点是在存储结构中________。
13.访问单链表中的结点,必须沿着________依次进行。
14.长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为________。
15.假设用一个长度为50的数组(数组元素的下标从0~49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有________个元素。
16.一个栈的初始状态为空。首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为________。
17.一个队列的初始状态为空。现将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为________。
18.在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有________个元素。
19.设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有________个元素。
20.在树形结构中,树根结点没有________。
21.在树形结构中,树叶结点没有________。
22.设一棵完全二叉树共有700个结点,则在该二叉树中有________个叶子结点,有________个度为2的结点,有________个度为1的结点。
23.设一棵完全二叉树共有599个结点,则在该二叉树中有________个叶子结点,有________个度为2的结点,有________个度为1的结点。
24.设有如右图所示的二叉树:
对此二叉树中序遍历的结果为________。
25.设一棵二叉树的中序遍历结果为CBDEAGFIHJ,后序遍历结果为CEDBGIJHFA,则前序遍历为________。
26.设一棵二叉树的前序遍历结果为YMFALI,中序遍历结果为FMAYIL,则后序遍历结果为________。
27.在长度为n的线性表中,寻找最大项至少需要比较________次。
28.在长度为n的线性表中进行顺序查找,最坏情况下需要的比较次数为________。
29.在长度为n的有序线性表中进行二分法查找,最坏情况下需要的比较次数为________。
30.设有一个顺序存储的有序线性表L={18,20,25,31,38,45,67,75,89,95},若在线性表中采用二分法查找数67,则比较________次。
31.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、________和选择排序等。
32.在长度为n的线性表中,在最坏情况下,冒泡排序的时间复杂度为________。
33.在长度为n的线性表中,在最坏情况下,快速排序的时间复杂度为________。
34.在长度为n的线性表中,在最坏情况下,简单插入排序的时间复杂度为________。
35.在长度为n的线性表中,在最坏情况下,希尔排序的时间复杂度为________。
36.在长度为n的线性表中,在最坏情况下,简单选择排序需要比较的次数为________。
37.在长度为n的线性表中,在最坏情况下,堆排序需要比较的次数为________。
38.在长度为n的线性表中,在最好情况下,插入类排序的时间复杂度为________。
39.若串s="VisualBasic",则其子串的数目是________。