数据结构试卷(九)
一、选择题(30 分)
1.下列程序段的时间复杂度为( )。
for(i=0; i<m; i++) for(j=0; j<t; j++) c[i][j]=0;
for(i=0 ; i<m ; i++) for(j=0 ; j<t ; j++) for(k=0 ; k<n ; k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];
(A) O(m*n*t) (B) O(m+n+t) (C) O(m+n*t) (D) O(m*t+n)
2.设顺序线性表中有 n 个数据元素,则删除表中第 i 个元素需要移动( )个元素。
(A) n-i (B) n+l -i (C) n-1-i (D) i
3.设 F 是由 T1、T2 和 T3 三棵树组成的森林,与 F 对应的二叉树为 B,T1、T2 和 T3 的结点
数分别为 N1、N2 和 N3,则二叉树 B 的根结点的左子树的结点数为( )。
(A) N1-1 (B) N2-1 (C) N2+N3 (D) N1+N3
4.利用直接插入排序法的思想建立一个有序线性表的时间复杂度为( )。
(A) O(n) (B) O(nlog
2
n) (C) O(n
2
) (D) O(1og
2
n)
5.设指针变量 p 指向双向链表中结点 A,指针变量 s 指向被插入的结点 X,则在结点 A 的后
面插入结点 X 的操作序列为( )。
(A) p->right=s; s->left=p; p->right->left=s; s->right=p->right;
(B) s->left=p;s->right=p->right;p->right=s; p->right->left=s;
(C) p->right=s; p->right->left=s; s->left=p; s->right=p->right;
(D) s->left=p;s->right=p->right;p->right->left=s; p->right=s;
6.下列各种排序算法中平均时间复杂度为 O(n
2
)是( )。
(A) 快速排序 (B) 堆排序 (C) 归并排序 (D) 冒泡排序
7.设输入序列 1、2、3、…、n 经过栈作用后,输出序列中的第一个元素是 n,则输出序列
中的第 i 个输出元素是( )。
(A) n-i (B) n-1-i (C) n+l -i (D) 不能确定
8.设散列表中有 m 个存储单元,散列函数 H(key)= key % p,则 p 最好选择( )。
(A) 小于等于 m 的最大奇数 (B) 小于等于 m 的最大素数
(C) 小于等于 m 的最大偶数 (D) 小于等于 m 的最大合数
9.设在一棵度数为 3 的树中,度数为 3 的结点数有 2 个,度数为 2 的结点数有 1 个,度数
为 1 的结点数有 2 个,那么度数为 0 的结点数有( )个。
(A) 4 (B) 5 (C) 6 (D) 7
10.设完全无向图中有 n 个顶点,则该完全无向图中有( )条边。
(A) n(n-1)/2 (B) n(n-1) (C) n(n+1)/2 (D) (n-1)/2
11.设顺序表的长度为 n,则顺序查找的平均比较次数为( )。
(A) n (B) n/2 (C) (n+1)/2 (D) (n-1)/2
12.设有序表中的元素为(13,18,24,35,47,50,62),则在其中利用二分法查找值为 24
的元素需要经过( )次比较。
(A) 1 (B) 2 (C) 3 (D) 4
13.设顺序线性表的长度为 30,分成 5 块,每块 6 个元素,如果采用分块查找,则其平均查
找长度为( )。
(A) 6 (B) 11 (C) 5 (D) 6.5
评论0