国家二级C语言机试(数据结构与算法)-试卷2-1
(总分76,考试时间90分钟)
1. 选择题
1. 对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为( )。
A. 9        B. 10
C. 45        D. 90
2. 下列叙述中正确的是( )。
A. 算法的效率只与问题的规模有关,而与数据的存储结构无关
B. 算法的时间复杂度是指执行算法所需要的计算工作量
C. 数据的逻辑结构与存储结构是一一对应的
D. 算法的时间复杂度与空间复杂度一定相关
3. 下列叙述中正确的是( )。
A. 线性表链式存储结构的存储空间一般要少于顺序存储结构
B. 线性表链式存储结构与顺序存储结构的存储空间都是连续的
C. 线性表链式存储结构的存储空间可以是连续的,也可以是不连续的
D. 以上说法都不对
4. 某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)( )。
A. 3        B. 6
C. 8        D. 12
5. 对长度为n的线性表作快速排序,在最坏情况下,比较次数为( )。
A. n        B. n-1
C. n(n-1)        D. n(n-1)/2
6. 下列叙述中正确的是( )。
A. 有且只有一个根结点的数据结构一定是线性结构
B. 每一个结点最多有一个前件也最多有一个后件的数据结构一定是线性结构
C. 有且只有一个根结点的数据结构一定是非线性结构
D. 有且只有一个根结点的数据结构可能是线性结构,也可能是非线性结构
7. 下列叙述中错误的是( )。
A. 在双向链表中,可以从任何一个结点开始直接遍历到所有结点
B. 在循环链表中,可以从任何一个结点开始直接遍历到所有结点
C. 在线性单链表中,可以从任何一个结点开始直接遍历到所有结点
D. 在二叉链表中,可以从根结点开始遍历到所有结点
8. 某二叉树共有13个结点,其中有4个度为1的结点,则叶子结点数为( )。
A. 5        B. 4
C. 3        D. 2
9. 设栈的顺序存储空间为S(1: 50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为( )。
A. 30        B. 29
C. 20        D. 19
10. 下列叙述中正确的是( )。
A. 栈与队列都只能顺序存储        B. 循环队列是队列的顺序存储结构
C. 循环链表是循环队列的链式存储结构        D. 以上说法都不对
11. 设某二叉树的前序序列为ABC,中序序列为CBA,则该二叉树的后序序列为( )。
A. BCA        B. CBA
C. ABC        D. CAB
12. 下列排序方法中,最坏情况下时间复杂度最小的是( )。
A. 冒泡排序        B. 快速排序
C. 堆排序        D. 直接插入排序
13. 为了对有序表进行对分查,则要求有序表( )。
A. 只能顺序存储        B. 只能链式存储
C. 可以顺序存储也可以链式存储        D. 任何存储方式
14. 设某二叉树的后序序列为CBA,中序序列为ABC,则该二叉树的前序序列为( )。
A. BCA        B. CBA
C. ABC        D. CAB
15. 下列叙述中正确的是( )。
A. 存储空间不连续的所有链表一定是非线性结构
B. 结点中有多个指针域的所有链表一定是非线性结构
C. 能顺序存储的数据结构一定是线性结构
D. 带链的栈与队列是线性结构
16. 算法时间复杂度的度量方法是( )。
A. 算法程序的长度        B. 执行算法所需要的基本运算次数
C. 执行算法所需要的所有运算次数        D. 执行算法所需要的时间
17. 设循环队列为Q(1: m),初始状态为front=rear=m。现经过一系列的入队与退队运算后,front=rear=1,则该循环队列中的元素个数为( )。
A. 1        B. 2
C. m-1        D. 0或m
18. 在最坏情况下( )。
A. 快速排序的时间复杂度比冒泡排序的时间复杂度要小
B. 快速排序的时间复杂度比希尔排序的时间复杂度要小
C. 希尔排序的时间复杂度比直接插入排序的时间复杂度要小
D. 快速排序的时间复杂度与希尔排序的时间复杂度是一样的
19. 在深度为7的满二叉树中,度为2的结点个数为( )。
A. 64        B. 63
C. 32        D. 31
20. 设栈的顺序存储空间为S(1: m),初始状态为top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为( )。
A. 30        B. 20
C. m-19        D. m-20
21. 算法空间复杂度的度量方法是( )。
A. 算法程序的长度        B. 算法所处理的数据量
C. 执行算法所需要的工作单元        D. 执行算法所需要的存储空间
22. 下面不属于软件开发阶段任务的是( )。
A. 测试        B. 可行性研究
C. 设计        D. 实现
23. 设循环队列为Q(1: m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=15,rear=20。现要在该循环队列中寻最大值的元素,最坏情况下需要比较的次数为( )。
A. 4        B. 6
C. m-5        D. m-6
24. 下列叙述中正确的是( )。
A. 循环队列属于队列的链式存储结构
B. 双向链表是二叉树的链式存储结构
C. 非线性结构只能采用链式存储结构
D. 有的非线性结构也可以采用顺序存储结构
25. 某二叉树中有n个叶子结点,则该二叉树中度为2的结点数为( )。
A. n+1        B. n-1
C. 2n        D. n/2
26. 下列叙述中错误的是( )。
A. 算法的时间复杂度与算法所处理数据的存储结构有直接关系
B. 算法的空间复杂度与算法所处理数据的存储结构有直接关系
C. 算法的时间复杂度与空间复杂度有直接关系
D. 以上说法都不对
27. 设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为( )。
A. 30        B. 29
C. 20        D. 19
28. 某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的深度(根结点在第1层)为( )。
A. 2        B. 3
数据结构与算法c++版 pdfC. 4        D. 5
29. 下列叙述中正确的是( )。
A. 存储空间连续的数据结构一定是线性结构
B. 存储空间不连续的数据结构一定是非线性结构
C. 没有根结点的非空数据结构一定是线性结构
D. 具有两个根结点的数据结构一定是非线性结构
30. 下列叙述中正确的是( )。
A. 带链队列的存储空间可以不连续,但队头指针必须大于队尾指针
B. 带链队列的存储空间可以不连续,但队头指针必须小于队尾指针
C. 带链队列的存储空间可以不连续,且队头指针可以大于也可以小于队尾指针
D. 以上说法都不对
31. 设循环队列为Q(1:m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=20,rear=15。现要在该循环队列中寻最小值的元素,最坏情况下需要比较的次数为( )。
A. 5        B. 6
C. m-5        D. m-6
32. 某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的后序序列为( )。
A. EFGDCBA        B. DCBEFGA
C. BCDGFEA        D. DCBGFEA
33. 下列叙述中正确的是( )。
A. 在链表中,如果每个结点有两个指针域,则该链表一定是非线性结构
B. 在链表中,如果有两个结点的同一个指针域的值相等,则该链表一定是非线性结构
C. 在链表中,如果每个结点有两个指针域,则该链表一定是线性结构
D. 在链表中,如果有两个结点的同一个指针域的值相等,则该链表一定是线性结构
34. 下列叙述中错误的是( )。
A. 在带链队列中,队头指针和队尾指针都是在动态变化的
B. 在带链栈中,栈顶指针和栈底指针都是在动态变化的
C. 在带链栈中,栈顶指针是在动态变化的,但栈底指针是不变的
D. 以上说法均不对
35. 设数据元素的集合D={ 1,2,3,4,5 },则满足下列关系R的数据结构中为线性结构的是( )。
A. R={ (1,2), (3,4), (5,1) }
B. R={ (1,3), (4,1), (3,2), (5,4) }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。