数据结构复习题可编辑范本.docx
- 文档编号:1864508
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:18
- 大小:123.57KB
数据结构复习题可编辑范本.docx
《数据结构复习题可编辑范本.docx》由会员分享,可在线阅读,更多相关《数据结构复习题可编辑范本.docx(18页珍藏版)》请在冰豆网上搜索。
数据结构复习题可编辑范本
2017 ~2018学年度第2学期
《数据结构》复习提纲
一、单项选择题
题号
1
2
3
4
5
6
7
8
9
10
答案
C
A
D
C
A
B
A
B
C
D
题号
11
12
13
14
15
16
17
18
19
20
答案
A
A
D
A
A
D
C
B
A
B
1.在数据结构中,从逻辑上可以把数据结构分为_________两类。
A.动态结构和静态结构B.紧凑结构和非紧凑结构
C.线性结构和非线性结构D.内部结构和外部结构
2.链表不具有的特点是_________。
A.可随机访问任一元素B.插入、删除不需要移动的元素
C.不必事先估计存储空间D.所需空间与线性表长度成正比
3.若线性表最常用的运算是存取第i个元素及其前驱元素,则采用_________存储方式节省时间。
A.单链表B.双链表C.循环单链表D.顺序表
4.算法分析的目的是_________。
A.找出数据结构的合理性B.研究算法中的输入和输出关系
C.分析算法的效率以求改进D.分析算法的易读性和文档性
5.若一个栈用数组data[1。
.n]存储,初始栈顶指针top为0,则以下元素x进栈的操作正确的是_________。
A.top++; data[top]=x;B.data[top]=x; top++;
C.top——; data[top]=x;D.data[top]=x;top——;
6.表达式a*(b+c)-d的后缀表达式是_________.
A.abcd*+-B.abc+*d—C.abc*+d-D.—+*abcd
7.递归函数f
(1)=1,f(n)=f(n-1)+n(n>1)的递归出口是_________。
A.f
(1)=1B.f
(1)=0C.f(0)=0D.f(n)=n
8.将递归算法转换成对应的非递归算法时,通常需要使用_________保存中间结果。
A.队列B.栈C.链表D.树
9.对稀疏矩阵采用压缩存储,其缺点之一是_________。
A.无法判断矩阵有多少行、多少列
B.无法根据行、列号查找某个矩阵元素
C.无法根据行、列号直接计算矩阵元素的存储地址
D.使矩阵元素之间的逻辑关系更加复杂
10.一个n阶上三角矩阵a按行优先顺序压缩存放在一维数组b中,则b中的元素个数是_________。
A.nB.n2C.n(n+1)/2D.n(n+1)/2+1
11.度为4,高度为h的树_________。
A.至少有h+3个结点B.最多有4h-1个结点
C.最多有4h个结点D.至少有h+4个结点
12.用双亲存储结构表示树,其优点之一是比较方便_________。
A.找指定结点的双亲结点B.找指定结点的孩子结点
C.找指定结点的兄弟结点D.判断某结点是不是叶子结点
13.设有13个值,用它们组成一棵哈夫曼树,则该哈夫曼树共有_________个结点。
A.13B.12ﻩC.26D.25
14.无向图的邻接矩阵是一个_________。
A.对称矩阵ﻩB.零矩阵ﻩC.上三角矩阵ﻩD.对角矩阵
15.在图的广度优先遍历算法中用到一个队列,每个顶点最多进队_________次。
A.1ﻩB.2C.3D.不确定
16.在用Prim和Kruskal算法构造最小生成树时,前者更适合于_________。
A.有向图B.无向图ﻩC.稀疏图D.稠密图
17.有一个有序表R[1。
.13]={1, 3,9,12,32, 41, 45,62,75,77,82,95, 100},当用二分查找法查找值为82的节点时,经过_________次比较后查找成功。
A.1B.2C.4ﻩD.8
18.在采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块,则每块分为_________个结点最佳。
A.9B.25C.6ﻩD.625
19.若R中有10000个元素,如果仅要求求出其中最大的10个元素,则采用_________方法最节省时间。
A.堆排序ﻩB.希尔排序ﻩC.快速排序D.基数排序
20.有一组序列(48,36,68,99,75,24,28,52)进行快速排序,要求结果从小到大排序,则进行一次划分之后的结果为_________。
A.[24 2836]48[52687599]ﻩB.[283624]48[75996852]
C.[366899] 48 [752428 52]D.[2836 24] 48[997568 52]
二、填空题
题号
答案
题号
答案
题号
答案
1
问题规模
2
O(n)
3
假溢出
4
285
5
4
6
2h—1
7
关键活动
8
无环图
9
RL
10
基数排序
1.在分析算法的时间复杂度时,通常认为算法的执行时间是_________的函数.
2.求一个双链表长度的算法的时间复杂度为_________.
3.在实现顺序队的时候,通常将数组看成是一个首尾相连的环,这样做的目的是为了避免产生_____现象。
4.有如下递归过程:
void reverse(intm)
{ printf(”%d",n%10);
if(n/10!
=0 )
reverse(n/10);
}
调用语句reverse(582)的结果是_________。
5.广义表(((a,b,(),c),d),e,((f),g))的深度是_________。
6.在高度为h(h≥0)的二叉树中最多有_________个结点.
7.AOE网中从源点到汇点长度最长的路径称为关键路径,该路径上的活动称为_________。
8.可以进行拓扑排序的有向图一定是_________。
9.输入序列为(20,35, 30,……),构造一棵平衡二叉树,其中的第一次调整为_________型调整。
10.在排序过程中,任何情况下都不比较关键字大小的排序方法是_________.
三、判断题
题号
1
2
3
4
5
6
7
8
9
10
答案
F
T
F
F
F
T
F
T
F
F
1.如果数据元素值发生改变,则数据的逻辑结构也随之改变。
()
2.在循环单链表中没有为空的指针域.()
3.顺序栈中元素值的大小是有序的。
( )
4.任何递归算法都是尾递归.( )
5.稀疏矩阵的特点是矩阵中元素较少.()
6.哈夫曼树中不存在度为1的结点。
( )
7.完全二叉树中的每个结点或者没有孩子或者有两个孩子。
( )
8.强连通分量是有向图中的极大强连通子图。
( )
9.哈希冲突是指同一个关键字的记录对应多个不同的哈希地址。
( )
10.任何情况下折半插入排序都优于直接插入排序。
( )
四、问答题
ﻩ1.设计一个算法,删除一个单链表L中元素值最大的结点(假设这样的结点唯一)。
voiddelmaxnode(LinkList*&L)
{ LinkList *p,*pre,*maxp,*maxpre;
p=L->next;pre=L;
maxp=p;maxpre=pre;
while (p!
=NULL)
{
if(maxp—〉data
data)
{
maxp=p;
maxpre=pre;
}
pre=p;
p=p—>next;
}
maxpre—〉next=maxp—〉next;
free(maxp);
}
2.已知一棵完全二叉树的第6层(设根为第1层)有8个叶子结点,则该完全二叉树的结点个数最多是多少.
完全二叉树的叶子结点只能在最下两层,对于本题,结点最多的情况是第6层为倒数第二层,即1~6层构成一个满二叉树,其结点总数为26—1=63.第6层有25=32个结点,其中含8个叶子结点,另外有32-8=24个非叶子结点,它们中的每个结点都有两个孩子结点(均为第7层的叶子结点),计48个叶子结点,这样最多的结点个数=63+48=111。
3.一个有向图G的邻接表存储如下图所示,要求:
(1)给出该图的邻接矩阵存储结构;
(2)给出该图的所有强连通分量。
4.什么是平衡二叉树?
输入关键字序列(16,3,7,11),给出构造一棵平衡二叉树的过程。
若一棵二叉排序树中每个结点的左右子树的高度最多相差1,则称此二叉树为平衡二叉树。
5.线性表有顺序表和链表两种存储方式,不同的排序方法适合不同的存储结构。
对于常见的内部排序方法,说明哪些更适合于顺序表,哪些更适合于链表?
哪些两者都适合?
更适合于顺序表的排序方法有希尔排序、折半插入排序、快速排序、堆排序和归并排序。
更适合于链表的排序方法是基数排序
两者都适合的排序方法有直接插入排序、冒泡排序和简单排序。
五、算法设计题
用Floyd算法计算图中任意两个顶点之间的最短路径。
void Floyd(MGraphg)
{
int A[MAXV][MAXV],path[MAXV][MAXV];
inti,j,k;
for(i=0;i for (j=0;j<g。 n; j++) { A[i][j]=g.edges[i][j]; path[i][j]=—1; } for(k=0; k〈g.n;k++) { for(i=0;i for (j=0;j〈g。 n; j++) if (A[i][j]>A[i][k]+A[k][j]) { A[i][j]=A[i][k]+A[k][j]; path[i][j]=k;ﻩ//修改最短路径 } } Dispath(A,path,g.n);//输出最短路径 } 一、选择题 1.研究数据结构就是研究( )。 A 数据的逻辑结构 B数据的存储结构 C数据的逻辑和存储结构 D 数据逻辑结构、存储结构及其数据在运算上的实现 2.链表不具有的特点是( )。 A 可随机访问任一元素 B插入删除不需要移动元素 C 不必事先估计存储空间 D 所需空间与线性表长度成正比 3.设一个栈的输入序列为1,2,3,4,则借助一个栈所得到的输出序列不可能是(). A1,2,3,4 B2,4,3,1 C 3,1,4,2 D 3,2,4,1 4.设计一个判别表达式中左、右括号是否配对出现的算法,采用( )数据结构最佳。 A线性表的顺序存储结构 B 栈 C线性表的链式存储结构 D 队列 5.表达式a*(b+c)—d的后缀表达式是( ). Aabcd*+— B abc+*d— Cabc*+d- D-+*abcd 6.队列的操作原则是( )。 A先进先出 B只能进行插入 C 后进先出 D 只能进行删除 7.判断带头结点的单链表llist为空的条件是()。 A llist-〉link==llist B llist==NULL Cllist—>link==NULL D llist! =NULL 8.一个具有20个结点的完全二叉树,其
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 复习题 编辑 范本