广东工业大学数据结构复习题剖析.docx
《广东工业大学数据结构复习题剖析.docx》由会员分享,可在线阅读,更多相关《广东工业大学数据结构复习题剖析.docx(15页珍藏版)》请在冰豆网上搜索。
广东工业大学数据结构复习题剖析
考试题型:
选择题、填空题、简答题、算法填空、算法设计、附加题
第一章绪论
1.在数据结构中,数据的基本单位是___答案:
C
B.数据类型D.数据变量A.数据项C.数据元素
2.数据结构中数据元素之间的逻辑关系被称为___
B.数据的基本操作D.数据的逻辑结构C.程序的算法A.数据的存储结构
3.在定义ADT时,除数据对象和数据关系外,还需说明___
A.数据元素D.数据项C.基本操作B.算法
4.抽象数据类型的三个组成部分分别是:
数据对象,__数据关系_,基本操作。
第二章线性数据结构基础
5.1.对定义“int a[2];”的正确描述是( )。
A、定义一维数组a,包含a[1]和a[2]两个元素
B、定义一维数组a,包含a[0]和a[1]两个元素
C、定义一维数组a,包含a[0]、a[1]和a[2]三个元素
D、定义一维数组a,包含a(0)、a
(1)和a
(2)三个元素
6.具有后进先出特点的结构是_____。
A)栈B)队列C)线性表D)数组
7.具有先进先出特点的结构是_____。
A)栈B)队列C)线性表D)数组
第三章线性结构的顺序存储和实现
8.已知栈S=(l,b,c,y),Pop(S,e)操作之后栈S的结果是____。
答案示例:
(a,b,c)或()
9.已知栈S=(u,b,m,k,v),Push(S,‘c’)操作之后栈S的结果是____。
答案示例:
(a,b,c)或()
10.用S表示入栈操作,X表示出栈操作,若元素入栈的顺序是(d,l,g,k,a),为了得到(d,g,l,k,a)出栈序列,用相应的S和X表示的操作串为____。
答案示例:
SSXXS
11.3.1.5、用S表示入栈操作,X表示出栈操作,若元素入栈的顺序是(e,n,d,c,z),为了得到(d,z,c,n,e)出栈序列,用相应的S和X表示的操作串为____。
答案示例:
SSXXS
12.3.2.1、已知队列Q=(q,v,d,m,e,c),EnQueue(Q,'y')操作之后队列Q的结果是___。
答案形式:
(a,b)
13.若用一个长度为7的数组来表示循环队列,且当前front和rear的值分别是0和1则该队列的长度是___。
14.若用一个长度为6的数组来表示循环队列,且当前front和rear的值分别是1和3当从队列中删除2个元素,再加上4个元素后,rear和front的值分别为___和___。
15.以下操作不属于队列的操作是:
___
B.构造空队列
A.队尾添加一个元素
C.取队列长度
D.删除队列中部的元素
16.在队列中,允许进行插入操作的一端称为___
A.队首
C.栈顶
B.队尾
D.栈底
17.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是___
A.edcba
B.decba
D.abcde
C.dceab
18.下述哪一条是顺序存储结构的优点?
___
B.插入运算方便
A.存储密度大
C.删除运算方便
D.可方便地用于各种逻辑结构的存储表示
19.线性表是一种逻辑结构,下面的的叙述中哪一个是错误的?
___
A.线性表采用顺序存储,必须占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
20.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
___
D.单循环链表
B.双链表
A.顺序表
C.带头结点的双循环链表
第四章线性结构的链式存储和实现
21.如果用不带头结点的链表表示队列,则在做删除元素操作时,()___
B.仅修改尾指针
C.头尾指针都要修改
D.仅将被删除元素结点的next域置为null
A.仅修改头指针
22.链式实现中队列为空时,front和rear指针是否可以相等:
___
C.不清楚
D.以上都不
A.可以相等
B.不可以相等
23.在链式存储结构中是否存在“空间已满”的情况?
__________
A.存在
C.不一定
B.不存在
第五章排序基础
24.基数排序的时间复杂度是___
C.O(nlogn)
D.O(d(n+rd))
B.O(logn)
A.O(n*n)
25.对序列74,29,58,63,90,98,41执行升序的简单插入算法,写出排序中各趟的结果是____。
26.对序列13,25,96,76,75,47,8执行降序的希尔排序算法,增量序列为(5,3,1),写出排序中各趟的结果是____。
27.插入排序算法是(稳定或不稳定)____的排序算法。
28.给定关键字序列{483,35,126,86,678,257,513,750,680,226},执行三趟希尔排序,设增量序列为{5,3,1},请依次写出每一趟的排序结果。
第六章哈希表
29.设哈希表长m=14,哈希函数H(key)=key%11。
表中已有4个结点:
addr(15)=4;addr(38)=5;addr(61)=6;addr(84)=7;如用二次探测再散列处理冲突,关键字为49的结点的地址是____。
A.8D.9C.5B.3
30.解决散列法中出现的冲突问题常采用的方法是______
B.数字分析法、除余法、线性探测法
C.数字分析法、线性探测法、多重散列法
D.线性探测法、多重散列法、链地址法
A.数字分析法、除余法、平方取中法
31.设哈希函数为H(k)=keyMOD7,用线性探测法处理冲突。
请画出依次插入元素81,80,6,83,7,13,45后,该哈希表的状态,在各元素下面标出其冲突次数,并求出等概率情况下查找成功的平均查找长度是____。
(若平均长度小数超过两位,请保留两位!
)
32.设哈希函数为H(k)=keyMOD7,用二次探测法处理冲突。
请画出依次插入元素1,71,99,20,9,27,75后,该哈希表的状态,在各元素下面标出其冲突次数,并求出等概率情况下查找成功的平均查找长度是____。
33.将关键字序列:
(19,14,1,29,20,23,57,11,10),存入用数组A[0..12]实现的哈希表(见下表),设哈希函数为:
H0=keyMOD11,按线性探测再散列法处理冲突:
Hi=(H0+di)MOD13。
要求:
(1)填写关键字序列的存储情况;
0
1
2
3
4
5
6
7
8
9
10
11
12
(2)请写出在哈希表A中查找给定值K=57的过程中,所求得的哈希地址序列。
第七章递归
34.在有5个互不相同元素的有序表A[1..5]中折半查找值等于A[1]的元素,被比较的元素的下标依次为____。
35.在序列2,5,8,11,18,23,31,39,46,55,79,92,99中,用折半查找(二分查找)算法查找是否存在关键字13,写出相应的各趟结果。
并写出以C语言描述的完整算法,测试通过
36.在对长度为7的有序表进行折半查找,其等概率时查找成功的平均查找长度是____。
结果保留三位有效数字
37.对序列31,35,19,34,77,30,0执行升序的归并排序,写出三次调用过程Merge的排序结果是____。
38.归并排序算法的平均时间复杂度是____,最坏情况时间复杂度是____,辅助存储空间是____。
39.对序列46,19,47,12,35,23,7,1,99,62,57,86执行升序的一趟快速排序,设其中第一个元素46为枢轴,写出一趟快速排序结果是____。
并写出以C语言描述的完整算法,测试通过
40.对序列35,20,88,6,54,60,80执行升序的快速排序,写出三次调用过程Partition的排序结果是____。
41.快速排序算法的平均时间复杂度是____,最坏情况时间复杂度是____,辅助存储空间是____。
42.某内排序方法的稳定性是指___
B.该排序算法允许有相同的关键字记录
A.该排序算法不允许有相同的关键字记录
C.平均时间为0(nlogn)的排序方法
D.执行排序算法之后,相等的关键字的原有位置顺序不变。
43.针对下述快速排序算法,请进行代码填空。
intPartition( SqList&L, intlow, inthigh )
{
intpivotkey;
L.r[0]=L.r[low];
pivotkey=L.r[low].key;
while(_____
(1)________)
{
while( low=pivotkey )
_______
(2)______;
L.r[low]=L.r[high];
while( low_______(3)______;
L.r[high]=L.r[low];
}
L.r[low]=L.r[0];
returnlow;
}
voidQSort(RedType&R[],ints,intt)
{
if(spivotloc=Partition(R,s,t);
QSort(R,s,pivotloc-1);
______(4)_______;
}
}
voidQuickSort(SqList&L)
{
Qsort(L.r,1,L.length);
}
第八章二叉树
44.按照二叉树的定义,具有3个结点的二叉树有__种?
A.3B.6C.4D.5
45.若二叉树采用二叉链存储结构,要交换其所有分支结点的左、右子树位置,利用______遍历方法最合适。
C.后序D.按层次A.先序B.中序
46.已知某二叉树的先序遍历序列是cedba,中序遍历序列是debac,它的后序遍历序列是___
47.按______,二叉排序树所得到的序列是一个递增有序序列
D.任意次序遍历
A.中序遍历
B.后序遍历
C.先序遍历
48.试画出与图中所示的树T等价的二叉树。
49.平衡二叉树上所有结点的平衡因子可能的取值有:
__________。
50.在二叉树的第8层上至多有_____个结点。
【二叉树的性质】
51.深度为4的二叉树至多有_____个结点。
52.在一棵二叉树中,度为2的结点有0个,度为1的结点有0个,则度为0的结点数为_____。
53.已知某二叉树中叶子数为0,仅有一个孩子的结点数为0,则结点总数为_____。
54.深度为5的完全二叉树至少有_____个结点,至多有_____个结点。
55.深度9为的满二叉树有_____个结点。
56.如果对一棵具有n个结点的完全二叉树按层次从1开始编号,则编号为2的结点双亲结点的编号是_____,如果其有左孩子,则左孩子的编号是_____,如果其有右孩子,则右孩子的编号是_____。
57.已知二叉树T如图所示,画出其顺序存储的情况。
0号位不用,如何在顺序表中计算某个结点i的左孩子与右孩子的位置号?
58.已知二叉树T的先序遍历次序为LSNKJVFE,中序遍历次序为KNJSLFVE,则二叉树的后序遍历为____。
59.试画出与图中所示的森林F等价的二叉树。
60.试画出与图中所示的二叉树T等价的森林。
61.已知二叉树T如图所示,该二叉树的带权路径长度是____。
62.已知序列67,65,20,61,10,2,7,该序列____(是或不是)堆,如果是,是(大顶堆或小顶堆)____。
63.已知序列8,10,29,63,23,9,31,试将其调整为一个大顶堆的结果是____。
写出输出最大数63后,经调整后的大顶堆序列是____。
64.已知序列40,51,39,52,10,78,21,试将其调整为一个小顶堆的结果是____。
写出输出最小数10后,经调整后的小顶堆序列是____。
65.堆排序算法的平均时间复杂度是____,最坏情况时间复杂度是____,辅助存储空间是____。
66.画出平衡二叉树失衡的四种类型,并指出相应的调整方法(不需要写算法)
第九章树
67.已知树T如图所示,试画出其双亲表示法的存储结构。
68.已知树T如图所示,试画出其孩子表示法的存储结构。
69.一棵m阶(m>3)B树,若不为空树,则树中的每个结点至多有____棵子树。
A.m-1B.mC.m+1D.以上都不是
70.并查集的合并操作所需的时间主要取决于树的____________;有两种方法可优化算法效率,分别是_________和__________;
71.在一棵m阶B树中,若某结点的原有关键字个数等于______________,则插入一个新关键字将导致该结点分裂;若某结点及相邻兄弟结点的原有的关键字的个数等于______________,则删除一个关键字而导致结点合并。
第十章图
72.任何一个带权的无向连通图的最小生成树___
A.只有一棵B.有一棵或多棵C.一定有多棵D.可能不存在
73.具有N个顶点的无向图至多有()条边。
___
A.NB.N*(N—1)C.N*(N—1)/2D.2N
74.有n个顶点的无权无向图,采用邻接数组表示,图中的边数与邻接矩阵中非零元素之和的关系是________
A.1/2B.相等C.2倍D.不确定
75.不带权的有向图中顶点Vi的度等于其邻接矩阵中______;
A.第i行中的非0元的个数;B.第i列中的非0元的个数;
C.第i行中的非0元的个数+第i列中的非0元的个数;
D.不能确定
76.已知无向图G如图所示,从顶点A开始,分别写出深度优先搜索序列和广度优先搜索序列。
77.包含8个顶点的连通图的生成树有____个顶点,____条边。
78.已知某无向图对应的邻接矩阵如下所示,可得该图有____个顶点,____条边,其中顶点E的度是____。
79.已知某有向图对应的邻接矩阵如下所示,可得该图有____个顶点____条边,其中顶点F的出度是____,入度是____,度是____。
80.已知图G如图所示,其对应的邻接表共有____个头结点,____个表结点。
81.已知某图的邻接矩阵如图所示,从顶点A出发对图进行深度优先搜索,得到的顶点序列为____。
从顶点A出发对图进行广度优先搜索,得到的顶点序列为____。
分别写出DFS和BFS用C语言描述的算法。
82.已知某图的邻接表如图所示,从顶点A出发对图进行广度优先搜索,得到的顶点序列为____。
从顶点A出发对图进行深度优先搜索,得到的顶点序列为______。
分别写出DFS和BFS用C语言描述的算法。
83.已知图G如图所示,写出用Kruscal算法求图G最小生成树的过程:
(如有权值相等边,请根据结点从小到大优先原则,如AB=1,BC=1,则选AB!
)
84.已知图G如图所示,初始化顶点A为生成树上的顶点,写出用Prim算法求图G最小生成树的过程:
85.已知图G如图所示,图G的全部拓扑排序序列是____。