数据结构复习题及参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》课程复习资料
一、填空题:
1.设需要对5个不同的记录关键字进行排序,则至少需要比较________次,至多需要比较__________次。
2.设二叉排序树的高度为h,则在该树中查找关键字key最多需要比较_________次。
3.设在长度为20的有序表中进行二分查找,则比较一次查找成功的结点数有_________个,比较两次查
找成功有结点数有_________个。
4.数据结构从逻辑上划分为三种基本类型:___________、__________和___________。
5.在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,
包含有________条边。
6.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________。
7.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序过程的时间复
杂度为________。
8.在快速排序、堆排序、归并排序中,_________排序是稳定的。
9.在有n个叶子结点的哈夫曼树中,总结点数是_______。
10.一棵树T采用二叉链表存储,如果树T中某结点为叶子结点,则在二叉链表BT中所对应的结点一定
_______。
11.3.已知数组A[10][10]为对称矩阵,其中每个元素占5个单元。现将其下三角部分按行优先次序存
储在起始地址为1000的连续的内存单元中,则元素A[5,6]对应的地址是_______。
12.在有n个结点的无向图中,其边数最多为_______。
13.取出广义表A=(x,(a,b,c,d))中原子x的函数是_______。
14.对矩阵采用压缩存储是为了___ ____。
15.带头结点的双循环链表L为空表的条件是_______。
16.设线性表中元素的类型是实型,其首地址为1024,则线性表中第6个元素的存储位置是。
17.对于顺序存储的栈,因为栈的空间是有限的,在进行运算时,可能发生栈的上溢,在进行运
算时,可能发生栈的下溢。
18.在双向链表中,每个结点有两个指针域,一个指向,另一个指向。
19.由一棵二叉树的前序序列和可唯一确定这棵二叉树。
20.折半查找的存储结构仅限于___ _,且是_ ___。
21.对于一个顺序存储的线性表,在表头插入元素的时间复杂度为____________,在表尾插入元素的时间复
杂度为________________。
22.在稀疏距阵所对应的三元组线形表中,每个三元组元素按____________为主序,__________为辅序的
次序排列。
23.中缀表达示3+X*(2.4/5-6)所对应的后缀表达示为______________。
24.在一棵高度为h的3叉树中,最多含有_______结点。
25.分析下面算法(程序段),给出最大语句频度,该算法的时间复杂度是__ __。
for (i=0;i for (j=0;j A[i][j]=0; 26.空串是__ __,其长度等于。 27.一个图的表示法是唯一的,而表示法是不唯一的。 28.在一个单链表中p所指结点之前插入一个s (值为e)所指结点时,可执行如下操作: q=head; while (q->next!=p) q=q->next; s= new Node; s->data=e; q->next= ; //填空 s->next= ; //填空 29.在一个单链表中删除p所指结点的后继结点时,应执行以下操作: q= p->next; p->next= _ ___; //填空 delete ; //填空 30.两个串相等的充分必要条件是____。 31.二维数组A[10][20]采用列序为主方式存储,每个元素占一个存储单元并且A[0][0]的存储地址是200, 则A[6][12]的地址是____。 32.二维数组A[10..20][5..10]采用行序为主方式存储,每个元素占4个存储单元,并且A[10][5]的存储 地址是1000,则A[18][9]的地址是____。 33.求下列广义表操作的结果: (1) GetTail[GetHead[((a,b),(c,d))]]; (2) GetTail[GetHead[GetTail[((a,b),(c,d))]]] 34.已知一个有向图的邻接矩阵表示,计算第i个结点的入度的方法是____。 35.已知一个图的邻接矩阵表示,删除所有从第i个结点出发的边的方法是____。 36.在利用快速排序方法对一组记录(54,38,96,23,15,72,60,45,83)进行快速排序时,递归调 用而使用的栈所能达到的最大深度为____,共需递归调用的次数为____,其中第二次递归调用是对____一组记录进行快速排序。 37.在堆排序,快速排序和归并排序中,若只从存储空间考虑,则应首先选取____方法,其次选取____方 法,最后选取____方法;若只从排序结果的稳定性考虑,则应选取____方法;若只从平均情况下排序最快考虑,则应选取____方法;若只从最坏情况下排序最快并且要节省内存考虑,则应选取____方法。 二、选择题: 1.队列的特点是【】。 A.先进后出 B.先进先出 C.任意位置进出 D.前面都不正确 2.有n个记录的文件,如关键字位数为d,基数为r,则基数排序共要进行【】遍分配与收集。 A.n B.d C.r D.n - d 3.在二叉树结点的先序序列、中序序列和后序序列中,所有叶子结点的先后顺序【】。 A.都不相同 B.完全相同 C.先序和中序相同,而与后序不同 D.中序和后序相同,而与先序不同 4.设有198个初始归并段,如采用K-路平衡归并三遍完成排序,则K值最大为【】。 A.12 B.13 C.14 D.15 5.下面关于广义表的叙述中,不正确的是【】。 A.广义表可以是一个多层次的结构 B.广义表至少有一个元素 C.广义表可以被其他广义表所共享 D.广义表可以是一个递归表 6.设二叉树根结点的层次为0,一棵深度(高度)为k的满二叉树和同样深度完全二叉树各有f个结点和 c个结点,下列关系式不正确的是【】。 A.f>=c B.c>f C.f=2k+1-a D.c>s k-1 7.从L=((apple,pear),(orange,banana))中,取出banana元素的表达式为【】。 A.head(tail(L)) B.head(head(tail(L))) C.tail(head(tail(L))) D.head(tail(head(tail(L)))) 8.下列文件的物理结构中,不利于文件长度动态增长的文件物理结构是【】。 A.顺序结构 B.链接结构 C.索引结构 D.Hash结构 9.在数据结构中,数据元素可由【】。 A.实体 B.域 C.数据项 D.字段 10.对于有n个顶点的有向图,由弗洛伊德(FloyD)算法求每一对顶之间的最短路径的时间复杂度是【】。 A.O(1) B.O(n) C.O(n) D.O(n3) 11.对n个记录的文件进行快速排序,所需要的辅助存储空间为【】。 A.O(1) B.O(log2 n) C.O(n) D.O(n2) 12.哈夫曼树中一定不存在【】。 A.度为0的结点 B.度为1的结点 C.度为2的结点 D.带权的结点 13.下述哪一条是顺序存储方式的优点?【】 A.存储密度大 B.插入和删除运算方便 C.获取符合某种条件的元素方便 D.查找运算速度快