计算机软件技术复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机软件技术》 复习资料
(课程代码:11049)
习题汇总:
(一)
1.线性表的链式存储结构与顺序存储结构相比优点是 CD 。 A. 所有的操作算法实现简单 B. 便于随机存取 C. 便于插入和删除 D. 便于利用零散的存储器空间
2.线性表是具有n 个 C 的有限序列。
A. 表元素
B. 字符
C. 数据元素
D. 数据项
E. 信息项
3.若长度为n 的线性表采用顺序存储结构,在其第I 个位置插入一个新元素的算法的时间复杂度为 C 。(1≤I ≤n+1)
A. O(0)
B. O(1)
C. O(n)
D. O(n 2)
4.设A 是一个线性表(a 1,a 2,…,a n ),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需要移动的元素个数为 B ,平均每删除一个元素需要移动的元素个数为
A ;若元素插在a i 与a i+1之间(0≤I ≤n-1)的概率为
)
1()(2+-n n i n ,则平均每插入一个元素所要移动的元素个数为 C ; A. 2
1-n B.
2n C. 312+n D. 413+n 5.下列函数中,按它们在∞→n 时的无穷大阶数,最大的是 D 。
A. log n
B. nlog n
C. 2n/2
D. n!
6.所指的结点之后,其语句应为: D 。
A. s->next=p+1; p->next=s;
B. (*p).next=s; (*s).next=(*p).next;
s
p
next
next next
C. s->next=p->next; p->next=s->next;
D. s->next=p->next; p->next=s;
7.将两个各有n个元素的有序表归并为一个有序表时,其最少的比较次数是 A 。
A. n
B. 2n-1
C. n-1
D. 2n
8.用单链表表示的链式队列的队头在链表的 A 位置。
A. 链头
B. 链尾
C. 链中
9.若用单链表表示队列,则应该选用 B 。
A. 带尾指针的非循环链表
B. 带尾指针的循环链表
C. 带头指针的非循环链表
D. 带头指针的循环链表
10.在解决计算机主机与打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取出数据打印,先放入打印缓冲区的数据先被打印。该缓冲区应该是一个 B 结构。
A. 堆栈
B. 队列
C. 数组
D. 线性表
11.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为 B 。A. 1和5 B. 2和4
C. 4和2
D. 5和1
12.设栈的输入序列为1,2,…,10,输出序列为a1,a2,…,a10,若a5=10,则a7为 C 。(未要求一次性全部输入或输出)
A. 4
B. 8
C.不确定
D.7
13.设栈的输入序列是1,2,3,4,则 D 不可能是其出栈序列。
A. 1243 B. 2134 C. 1432 D. 4312
14.以下 ABD 是C语言中”abcd321ABCD”的子串。
A. abcd
B. 321AB
C. “abcABC”
D. “21AB”
15.若串S=”software”,其子串的数目是 B 。
A. 8
B. 37
C. 36
D. 9
16.设高为h的二叉树只有度为0和2的结点,则此类二叉树的结点数至少为 B ,至多为 F 。高为h的完全二叉树的结点数至少为 E ,至多为 F 。A. 2h B. 2h-1 C. 2h+1 D.h+1
E. 2h-1
F. 2h-1
G. 2h+1-1
H. 2h+1
17.一棵有124个叶结点的完全二叉树,最多有 B 个结点。
A. 247
B. 248
C. 249
D. 251
18.若从二叉树的任一结点出发到根的路径上所经过的结点序列按其关键字有序,则该二叉树是 C 。
A. 满二叉树
B. 哈夫曼树
C. 堆
D. 二叉查找树
19.前序遍历和中序遍历结果相同的二叉树为 F ;前序遍历和后序遍历结果相同的二叉树为 B 。
A. 一般二叉树
B. 只有根结点的二叉树
C. 根结点无左孩子的二叉树
D. 根结点无右孩子的二叉树
E. 所有结点只有左孩子的二叉树
F. 所有结点只有右孩子的二叉树
20.假定有K个关键字互为同义词,若用线性探测法把这K个关键字存入散列表中,至少要
进行 D 次探测。
A. K-1次
B. K 次
C. K+1次
D. K(K+1)/2次
21.在n 个记录的有序顺序表中进行折半查找,最大的比较次数是⎣⎦1log 2+n 。
22.在下述排序算法中,所需辅助存储空间最多的是 B ,所需辅助存储空间最小的是 C ,平均速度最快的是 A 。
A.快速排序
B. 归并排序
C. 堆排序
23.在文件局部有序或文件长度较小的情况下,最佳内部排序的方法是 A 。
A. 直接插入排序
B. 冒泡排序
C. 简单选择排序
24.快速排序在最坏情况下时间复杂度是O(n 2),比 A 的性能差。
A. 堆排序
B. 冒泡排序
C. 简单选择排序
25.若需在O(nlogn)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是 C 。
A. 快速排序
B. 堆排序
C. 归并排序
D. 希尔排序
26.如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列,用
B 方法最快。
A. 冒泡排序
B. 快速排序
C. 希尔排序
D. 堆排序
E. 简单选择排序
27.以下结点序列是堆的为 A 。
A. 100,90,80,60,85,75,20,25,10,70,65,50
B. 100,70,50,20,90,75,60,25,10,85,65,80
28.若要尽可能快地完成对实数数组的排序,且要求排序是稳定的,则应选 C 。
A. 快速排序
B. 堆排序
C. 归并排序
D. 希尔排序
29.从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为 A 排序法。
A. 插入排序
B. 交换排序
C. 选择排序
D. 归并排序
30.直接插入排序在最好情况下的时间复杂度为 B 。
A. O(logn)
B. O(n)
C. O(nlogn)
D. O(n 2)
31. 从未排序的序列中,依次取出元素,与已排序序列的元素比较后,放入已排序序列中的恰当位置上,这是 (1) 排序。从未排序的序列中,挑选出元素,放在已排序序列的某一端位置,这是 (2) 排序。逐次将待排序的序列中的相邻元素两两比较,凡是逆序则进行交换,这是 (3) 排序。如果整个排序过程都在内存中进行,称为
(4) 排序。排序算法的复杂性与排序算法的 (5) 有关。
供选答案:
(1): A. 选择 B. 插入
C. 比较
D. 归并
(2): A. 选择 B. 插入
C. 比较
D. 归并
(3): A. 冒泡 B. 交换