数据结构与算法(1)
1) 下列叙述中正确的是
A) 设计算法时只需要考虑结果的可靠性
B) 算法就是程序
C) 设计算法时要考虑时间复杂度和空间复杂度
D) 设计算法时只需要考虑数据结构的设计
答案:C
2) 循环队列的存储空间为 Q(1:50),初始状态为 front=rear=50。经过一系列正常的入队与退队操作后,front=rear=25,此后又插入一个元素,则循环队列中的元素个数为
A) 2
B) 1,或50且产生上溢错误
C) 26
D) 51
答案:B
3) 下列算法中均以比较作为基本运算,则平均情况与最坏情况下的时间复杂度相同的是
A) 在顺序存储的线性表中寻找最大项
B) 在顺序存储的有序表中进行对分查找
C) 在链式存储的有序表中进行查找
D) 在顺序存储的线性表中进行顺序查找
答案:A
4) 设表的长度为20。则在最坏情况下,冒泡排序的比较次数为
A) 19
B) 20
C) 190
D) 90
答案:C
5) 下列叙述中正确的是
A) 循环队列是链式存储结构
B) 循环队列是非线性存储结构
C) 循环队列是线性逻辑结构
D) 循环队列是线性结构
答案:D
6) 设某棵树的度为3,其中度为3,2,1的结点个数分别为3,0,4。则该树中的叶子结点数为
A) 6
B) 不可能有这样的树
C) 7
D) 8
答案:C
7) 设有一个栈与一个队列的初始状态均为空。现有一个序列A,B,C,D,E,F,G,H。先分别将序列中的前4个元素依次入栈,后4个元素依次入队;然后分别将栈中的元素依次退栈,再将队列中的元素依次退队。最后得到的序列为
A) D,C,B,A,H,G,F,E
B) A,B,C,D,E,F,G,H
C) D,C,B,A,E,F,G,H
D) A,B,C,D,H,G,F,E
答案:C
8) 下列叙述中错误的是
A) 具有一个根结点且只有一个叶子结点的数据结构也可能是非线性结构
B) 具有两个以上指针域的链式结构一定属于非线性结构
C) 具有两个根结点的数据结构一定属于非线性结构
D) 具有两个以上叶子结点的数据结构一定属于非线性结构
答案:B
9) 下列结构中属于线性结构链式存储的是
A) 二维数组
B) 二叉链表
C) 双向链表
D) 循环队列
答案:C
10) 下列叙述中错误的是
A) 循环链表的存储空间是连续的
B) 循环链表的表头指针与循环链表中最后一个结点的指针均指向表头结点
C) 循环链表实现了空表与非空表运算的统一
D) 循环链表中有一个表头结点
答案:A
11) 度为3的一棵树共有30个结点,其中度为3,1的结点个数分别为3,4。
则该树中的叶子结点数为
A) 16
B) 15
C) 不可能有这样的树
D) 14
答案:B
12) 在长度为97的顺序有序表中作二分查找,最多需要的比较次数为
A) 96
B) 7
C) 48
D) 6
答案:B
13) 下列结构中属于非线性结构的是
A) 双向链表
B) 二叉链表
C) 循环队列
D) 二维数组
答案:B
14) 从表中任何一个结点位置出发就可以不重复地访问到表中其他所有结点的链表是
A) 循环链表
B) 二叉链表
C) 双向链表
D) 单向链表
答案:A
15) 设某棵树的度为3,其中度为3,1,0的结点个数分别为3,4,15。
则该树中总结点数为
A) 30
B) 22
C) 35
D) 不可能有这样的树
答案:A
注意,人家可没说度为2的结点。。。你得设总结点有x个,度为2的有y个,然后列方程去。“树中的结点数 = 所有结点的度数 + 1”,根据这个列方程。
16) 下列叙述中正确的是
A) 线性表中各元素的数据类型可以不同
B) 对线性表只能作插入与删除运算
C) 数组是长度固定的线性表
D) 矩阵是非线性结构
答案:C
17) 在快速排序法中,每经过一次数据交换(或移动)后
A) 不会产生新的逆序
B) 能消除多个逆序
C) 消除的逆序个数一定比新产生的逆序个数多
D) 只能消除一个逆序
答案:B
18) 线性表的长度为n。在最坏情况下,比较次数为n-1的算法是
A) 有序表的插入
B) 同时寻找最大项与最小项
C) 寻找最大项
D) 顺序查找
答案:C
19) 设某棵树的度为3,其中度为2,1,0的结点个数分别为3,4,15。则该树中总结点数为
A) 不可能有这样的树
B) 35
C) 30
D) 22
答案:A
20) 下列叙述中错误的是
A) 非空线性结构中只有一个结点没有后件
B) 只有一个根结点和一个叶子结点的结构必定是线性结构
C) 向量是线性结构
D) 非空线性结构中只有一个结点没有前件
答案:B
21) 在希尔排序法中,每经过一次数据交换后
A) 能消除多个逆序
B) 消除的逆序个数一定比新产生的逆序个数多
C) 只能消除一个逆序
D) 不会产生新的逆序
答案:A
22) 下列叙述中正确的是
A) 所有的线性结构都可以采用顺序存储结构
B) 能采用顺序存储的必定是线性结构
C) 循环队列是队列的链式存储结构
D) 具有两个以上指针的链表必定是非线性结构
答案:A
23) 设表的长度为n。在下列算法中,最坏情况下时间复杂度最高的是
A) 希尔排序
B) 堆排序
C) 循环链表中寻找最大项
D) 有序链表查找
答案:A
24) 设循环队列的存储空间为Q(1: 50),初始状态为 front=rear=50。经过一系列正常的操作后,front=rear-1。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为
A) 49
B) 0
C) 1
D) 50
答案:B
25) 设二叉树的前序序列为ABDEGHCFIJ,中序序列为DBGEHACIFJ。则后序序列为
A) ABCDEFGHIJ
B) DGHEBIJFCA
C) GHIJDEFBCA
D) JIHGFEDCBA
答案:B
26) 设顺序表的长度为16,对该表进行简单插入排序。在最坏情况下需要的比较次数为
A) 120
B) 30
C) 60
D) 15
答案:A
27) 下列叙述中正确的是
A) 算法的复杂度是指算法程序中指令的数量
B) 算法的复杂度是指算法所处理的数据量
C) 算法的复杂度包括时间复杂度与空间复杂度
D) 算法的复杂度是指算法控制结构的复杂程度
答案:C
28) 设二叉树的前序序列为ABDEGHCFIJ,中序序列为DBGEHACIFJ。则按层次输出(从上到下,同一层从左到右)的序列为
A) ABCDEFGHIJ
B) DGHEBIJFCA
C) GHIJDEFBCA
D) JIHGFEDCBA
答案:A
29) 设循环队列的存储空间为Q(1: 50),初始状态为 front=rear=50。经过一系列正常的操作后,front-1=rear。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为
A) 48
B) 1
C) 0
D) 49
答案:A
30) 设顺序表的长度为40,对该表进行冒泡排序。在最坏情况下需要的比较次数为
A) 40
B) 41
C) 820
D) 780
答案:D
31) 设表的长度为n。在下列结构所对应的算法中,最坏情况下时间复杂度最低的是
A) 堆排序
B) 希尔排序
C) 有序链表查找
D) 循环链表中寻找最大项
答案:D
32) 设循环队列的存储空间为Q(1: m),初始状态为 front=rear=m。经过一系列正常的操作后,front=1,rear=m。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为
A) m
B) m-2
C) 0
D) 1
E) m-1
答案:B
33) 设二叉树的后序序列为DGHEBIJFCA,中序序列为DBGEHACIFJ。则前序序列为
A) JIHGFEDCBA
B) GHIJDEFBCA
C) ABDEGHCFIJ
D) ABCDEFGHIJ
答案:C
34) 下列结构中为非线性结构的是
A) 树
B) 二维表
C) 矩阵
D) 向量
答案:A
35)下列关于栈的叙述中,正确的是
A)栈底元素一定是最后入栈的元素B)栈顶元素一定是最先入栈的元素
C)栈操作遵循先进后出的原则
答案:C
36)设二叉树共有150个结点,其中度为1的结点有10个,则该二叉树中的叶子结点数为
A)71
B)70
C)69
D)不可能有这样的二叉树
答案:D
37)下列叙述中正确的是
A)程序执行的效率与数据的存储结构密切相关
B)程序执行的效率只取决于程序的控制结构
C)程序执行的效率只取决于所处理的数据量
答案:A
38)下列与队列结构有关联的是
A)函数的递归调用B)数组元素的引用C)多重循环的执行D)先到先服务的作业调度
答案:D
|