数据结构复习题.docx
《数据结构复习题.docx》由会员分享,可在线阅读,更多相关《数据结构复习题.docx(16页珍藏版)》请在冰豆网上搜索。
![数据结构复习题.docx](https://file1.bdocx.com/fileroot1/2022-10/27/841b6263-4cc3-4f4d-b9b3-4d960547f0db/841b6263-4cc3-4f4d-b9b3-4d960547f0db1.gif)
数据结构复习题
《数据结构》考试题型及分数分布
一、单项选择题,15小题,占30分
二、判断题,10小题,占10分
三、填空题,10小题,占20分
四、概念与术语解释,3小题,占9分
五、分析简答及应用题,4小题,占21分
六、算法设计与分析题,1小题,占10分
一、单项选择题
1.线性表采用链式存储时,其地址(A)。
A:
连续与否均可以B:
部分地址必须是连续的
C:
一定是不连续的D:
必须是连续的
2.在单链表指针为p的结点之后插入指针为s结点,正确的操作是(A)。
A:
s->next=p->next;p->next=s;B:
p->next=s;s->next=p->next;
C:
p->next=s;p->next=s->next;D:
p->next=s->next;p->next=s;
3.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用(D)存储方式最节省运算时间。
A:
单链表B:
仅有头指针的单循环链表
C:
双向链表D:
仅有尾指针的单循环链表
4.有10个结点的无向图至少有(B)条边才能确保其是连通图。
A:
8B:
9C:
10D:
11
5.初始序列已经按键值有序时,用直接插入算法进行排序,需要比较的次数为(D)。
A:
n2B:
nlog2nC:
log2nD:
n-1
6.从逻辑结构上可以把数据结构分成(C)
A:
动态结构和静态结构B:
顺序结构和链式结构
C:
线性结构和非线性结构D:
内部结构和外部结构
7.数据的基本单位是(B)
A:
数据结构B:
数据元素
C:
数据项D:
文件
8.在一个带表头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行(D)。
A:
HL=p;p->next=HL;B:
p->next=HL;p=HL;
C:
p->next=HL;HL=p->next;D:
p->next=HL->next;HL->nxet=p;
9.关键路径是事件结点网络中(A)。
A:
从源点到汇点的最长路径B:
从源点到汇点的最短路径
C:
最长的回路D:
最短的回路
10.以二叉链表作为二叉树的存储结构,在具有n个结点的二叉链表中(n>0),空链域的个数为(C)。
A:
2n-1B:
n-1C:
n+lD:
2n+l
11.设栈S和队列Q的初始状态为空,元素A,B,C,D,E,F依次通过栈S,一个元素出栈后即进入队列Q。
若出队的顺序为B,D,C,F,E,A,则栈S能容纳元素的容量至少为(A)个。
A:
3B:
4C:
5D:
6
12.下面关于串的叙述中,不正确的是(C)。
A:
串是字符的有限序列B:
串既可以采用顺序存储,也可以采用链式存储
C:
空串是由空格构成的串D:
模式匹配是串的一种重要运算
13.表达式a*(b-c)+d的后缀表达式是(B)。
A:
abcd*-+B:
abc-*d+
C:
abc*-d+D:
+-*abcd
14.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是(C)。
A:
edcbaB:
decbaC:
dceabD:
abcde
15.在一个链队列中,若f、r分别为队首、队尾指针,则插入p所指结点的操作为(B)。
A:
f->next=p;f=pB:
r->next=p;r=p
C:
p->next=r;r=pD:
p->next=f;f=p
16.串的长度是指(D)。
A:
串中所含不同字母的个数B:
串中所含非空格字符的个数
C:
串中所含不同字符的个数D:
串中所含字符的个数
17.一棵完全二叉树上有1001个结点,其中叶子结点的个数是(C)。
A:
500B:
501C:
490D:
495
18.数组A[5][6]的每个元素占4个存储单元,下标从0计起,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[4][5]的地址为(A)。
A:
1116B:
11029C:
1096D:
1088
19.一棵二叉树有5个度为2的节点和3个度为1的节点,由此可知其度为0的节点(即叶子节点)的个数为(C)
A:
4B:
5C:
6D:
7
20.用顺序查找法对n个结点的线性表查找一个结点的时间复杂度为(C)。
A:
O(log2n2)B:
O(nlog2n)C:
O(n)D:
O(log2n)
21.对一个满二叉树,m个树叶,n个结点,深度为h,则有(D)。
A:
n=h+mB:
h+m=2nC:
m=h-1D:
n=2h-1
22.采用邻接表存储的图的深度优先遍历算法类似于二叉树的(A)。
A:
先序遍历B:
中序遍历C:
后序遍历D:
按层遍历
23.一个Hash(哈希)表的Hash函数为H(k)=kmod17,则元素59在Hash表中的存放地址是(A)
A:
8B:
9C:
10D:
11
24.从逻辑上可以把数据结构分为(B)两大类。
A:
动态结构、静态结构B:
线性结构、非线性结构
C:
顺序结构、链式结构D:
初等结构、构造型结构
25.在下面的程序段中,对x的赋值语句的频度为(C)。
for(k=1;k<=n;k++)
for(j=1;j<=n;j++)
x=x+1;
A:
O(2n)B:
O(n)C:
O(n2)D:
O(log2n)
26.串的长度是指(B)。
A:
串中所含不同字母的个数B:
串中所含字符的个数
C:
串中所含不同字符的个数D:
串中所含非空格字符的个数
27.下列哪一种图的邻接矩阵是对称矩阵?
(B)
A:
有向图B:
无向图C:
AOV网D:
AOE网
28.线性表采用链式存储时,其地址(D)。
A:
必须是连续的B:
部分地址必须是连续的
C:
一定是不连续的D:
连续与否均可以
29.栈和队都是(C)。
A:
顺序存储的线性结构B:
链式存储的非线性结构
C:
限制存取点的线性结构D:
限制存取点的非线性结构
30.若一棵二叉树的后序遍历序列为dabec,中序遍历序列为debac,则先序遍历序列为(D)。
A:
cbedB:
decabC:
deabcD:
cedba
31.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(B)。
A:
p->next=s;s->next=p->next;B:
s->next=p->next;p->next=s;
C:
p->next=s;p->next=s->next;D:
p->next=s->next;p->next=s;
32.静态查找表与动态查找表的根本区别在于(C)
A:
逻辑结构不同B:
存储方法不同
C:
施加的操作不同D:
数据元素的类型不同
33.在数据结构中,与所使用的计算机无关的是数据的(B)结构。
A:
存储B:
逻辑C:
逻辑和存储D:
物理
34.在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p->next->next=head,则(D)。
A:
p指向头结点B:
p指向尾结点
C:
*p的直接后继是头结点D:
*p的直接后继是尾结点
35.在散列函数H(k)=k%m中,一般来讲,m应取(C)。
A:
奇数B:
偶数C:
素数D:
充分大的数
36.在下面的程序段中,对x的赋值语句的频度为(C)。
for(k=1;k<=n;k++)
for(j=1;j<=n;j++)
x=x+1;
A:
O(2n)B:
O(n)C:
O(n2)D:
O(log2n)
37.若进栈序列为1,2,3,4,则(C)不可能是一个出栈序列。
A:
3,2,1,4B:
3,2,4,1C:
4,2,3,1D:
4,3,2,1
38.如下叙述中正确的是(A)。
A:
串是一种特殊的线性表B:
串的长度必须大于零
C:
串中元素只能是字母D:
空串就是空格串
39.二维数组A[m][12]按行优先顺序存储,其中每个元素占1个存储单元。
若A[0][0]的存储地址为407,则A[5][5]的存储地址为(C)。
A:
470B:
471C:
472D:
473
40.下列说法正确的是(B)。
A:
二叉树中任何一个结点的度都为2B:
一棵二叉树的度可小于2
C:
二叉树的度为2D:
任何一棵二叉树中至少有一个结点的度为2
41.在待排序的元素序列基本有序的前提下,效率最高的排序方法是(A)。
A:
插入排序B:
选择排序C:
快速排序D:
归并排序
42.将一棵完全二叉树中的节点从上到下、同层从左到右编号,设根节点编号为1,则编号71的节点的双亲节点的编号为(B)
A:
34B:
35C:
36D:
不确定
43.一棵二叉树有7个度为2的节点和2个度为1的节点,由此可知其度为0的节点(即叶子节点)的个数为(D)
A:
5B:
6C:
7D:
8
44.一个无向图的邻接表如下图所示。
从顶点v0出发进行深度优先搜索,经历的结点顺序为(B)。
A:
v0,v3,v2,v1B:
v0,v1,v2,v3
C:
v0,v2,v1,v3D:
v0,v1,v3,v2
45.有10个结点的无向图至少有(B)条边才能确保其是连通图。
A:
8B:
9C:
10D:
11
46.对某个无向图的邻接矩阵来说,(A)。
A:
第i行上的非零元素个数和第i列的非零元素个数一定相等
B:
矩阵中的非零元素个数等于图中的边数
C:
第i行上,第i列上非零元素总数等于顶点Vi的度数
D:
矩阵中非全零行的行数等于图中的顶点数
47.一个Hash(哈希)表的Hash函数为H(k)=kmod13,则元素19在Hash表中的存放地址是(B)
A:
5B:
6C:
7D:
8
48.线性表是(A)。
A:
一个有限序列,可以为空B:
一个有限序列,不能为空
C:
一个无限序列,可以为空D:
一个无限序列,不能为空
49.在发生非法操作时,算法能够作出适当处理的特性称为(B)。
A:
正确性B:
健壮性C:
可读性D:
可移植性
50.对于栈操作数据的原则是(B)。
A:
先进先出B:
后进先出C:
后进后出D:
不分顺序
51.在发生非法操作时,算法能够作出适当处理的特性称为(B)
A:
正确性B:
健壮性C:
可读性D:
可移植性
52.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的,插入一个元素时平均要移动表中的(A)个元素。
A:
n/2B:
(n+1)/2C:
(n-1)/2D:
n
53.散列函数有一个共同的性质,即函数值应当以(D)取其值域的每个值。
A:
最大概率B:
最小概率C:
平均概率D:
同等概率
54.一组记录的排序码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为(C)。
A:
38,40,46,56,79,84B:
40,38,46,79,56,84
C:
40,38,46,56,79,84D:
40,38,46,84,56,79
55.评价一个算法时间性能的主要标准是(A)。
A:
算法的时间复杂度B:
算法易于理解
C:
算法的稳定性和正确性D:
算法易于调试
56.以下数据结构中,(D)不是线性结构。
A:
队列B:
栈C:
数组D:
图
57.若某线性表中最常用的操作是在最后一个元素之后插