数据结构复习题.docx
- 文档编号:8893895
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:15
- 大小:74.84KB
数据结构复习题.docx
《数据结构复习题.docx》由会员分享,可在线阅读,更多相关《数据结构复习题.docx(15页珍藏版)》请在冰豆网上搜索。
数据结构复习题
数据结构复习题
一、单选题
1.线性链表中各结点之间的地址(D)。
A.必须连续B.一定不连续
C.部分地址必须连续D.连续与否无所谓
2线性表是具有n个(C)的有限序列。
A.表元素B.字符
C.数据元素D.信息项
3若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为(C)。
(1≦i≦n+1)
A.O(0)B.O
(1)C.O(n)D.O(n2)
4.不带头结点的单链表head为空的判断条件是(A)。
A.head==NULLB.head->next==NULL
C.head->next==headD.head!
=NULL
5.线性表的长度是指(C)
A.顺序存储方式下数组所占的空间大小
B.链式存储方式下所有结点占用的空间大小
C.表中的元素个数
D.所能存储的最大的结点个数
6.某数组第一个元素的存储地址为200,每个元素的长度为4,则第五个元素的地址是(D)。
A.210B.208C.216D.220
7.链栈和顺序栈相比,有一个较明显的优点是(A)。
A.通常不会出现栈满的情况B.通常不会出现栈空的情况
C.插入操作更加方便C.删除操作更加方便
8带头结点的单链表head为空的判断条件是(B)。
A.head==NULLB.head->next==NULL
C.head->next==headD.head!
=NULL
9在单链表中增加头结点的目的是为了(A)。
A.方便运算的实现B.用于标识单链表
C.使单链表中至少有一个结点D.用于标识起始结点的位置
10对有n个记录的表按记录键值有序建立二叉排序树,在这种情况下,其平均查找长度的量级为(A)。
A.O(n)B.O(nlog2n)C.O
(1)D.O(log2n)
11若某链表最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用(C)存储方式最节省空间。
A.单链表B.双链表
C.带头结点的双循环链表D.单循环链表
12.单链表的存储密度(C)。
A.大于1B.等于1C.小于1D.不能确定
13非空的循环单链表head的尾结点(由p指针所指)满足(A)。
A.p->next==NULLB.p==NULL
C.p->next==headD.p=head
14在一个单链表中,已知(*q)结点是(*p)结点的前驱结点,若在(*q)和(*p)之间插入(*s)
结点,则执行(C)。
A.s->next=p->next;p->next=s;
B.p->next=s->next;s->next=p;
C.q->next=s;s->next=p;
D.p->next=s;s->next=q;
15在一个单链表中,若删除(*p)结点的后继结点,则执行(B)。
A.p->next=p->next->next;
B.p=p->next;p->next=p->next->next;
C.p->next=p->next;
D.p=p->next->next;
16设输入序列为的1,2,3,4,借助一个栈可以得到的输出序列是(A)。
A.1,3,4,2B.3,1,4,2C.4,3,1,2D.4,1,2,3
17.以下叙述正确的是()。
A.在顺序存储的线性表中,逻辑上相邻的两个数据元素在物理上并不一定相邻
B.链式存储的线性表可以随机存取
C.顺序存储的线性表可以随机存取
D.在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数仅于该元素的位置有关
18.设输入序列为的A,B,C,D,借助一个栈不可以得到的输出序列是(D)。
A.A,B,C,DB.A,C,D,B
C.D,C,B,AD.D,A,B,C
19栈和队列都是(C)
A.顺序存储的线性表B.链式存储的线性表
C.限制存取点的线性结构D.限制存取点的非线性结构
20.设输入序列为1,2,3,4,5,借助一个栈可以得到的输出序列是()。
A.2,4,1,3,5B.3,4,1,5,2
C.3,2,4,1,5D.4,1,3,2,5
21.链表不具有的特点是(A)。
A.可随机访问任一元素B.插入删除不需要移动元素
C.不必事先估计存储空间D.所需空间与线性表长度成正比
22.若已知一个栈的输入序列为1,2,3,4,……,n,其输出序列p1,p2,…..,pn。
若p1=n,则pi为
()。
A.iB.n-iC.n-i+1D.不确定
23对稀疏矩阵进行压缩存储是为了(C.)
A.便于进行矩阵运算B.便于输入和输出
C.节省存储空间D.降低运算的时间复杂度
24串是(D)
A.一些符号构成的序列B.一些字母构成的序列
C.一个以上字符构成的序列D.任意有限个字符构成的序列
25.某二叉树的前序和后序序列正好相反,则该二叉树一定是(B)二叉树。
A.空或只有一个结点B.高度等于其结点数
C.任意结点无左孩子D.任意结点无右孩子
26.具有n个顶点的有向图最多可包含(A)条有向边。
A.n-1B.nC.n(n-1)/2D.n(n-1)
27.二分查找法要求查找表中各元素的键值必须是(A)排列。
A.递增或递减B.递增
C.递减D.无序
28.使具有9个顶点的无向图成为一个连通图至少应有边的条数是()。
A.6B.8C.5D.4
29.在一个具有n个顶点的完全无向图的边数为(B)。
A.n(n+1)/2B.n(n-1)/2C.n(n-1)D.n(n+1)
30某二叉树的前序和后序序列正好相同,则该二叉树一定是(B)的二叉树。
A.空或只有一个结点B.高度等于其结点数
C.任一结点无左孩子D.任一结点无右孩子
31按照二叉树的定义,具有3个结点的二叉树有(C)种。
A.3B.4C.5D.6
32有64个节点的完全二叉树的高度为(B)(根的层次为1)。
A.8B.7C.6D.5
33.任何一棵二叉树的叶子结点在先序、中序和后序遍历序列中的相对位置(A)。
A.不发生变化B.发生变化C.不能确定D.一定发生改变
34在线索二叉树中,结点(*t)没有左子树的充要条件是(B)。
A.t->left==NULL
B.t->ltag==1
C.t->ltag==1&&t->left==NULL
D.以上都不对
35在一个具有n个顶点的无向图中,要连通全部顶点至少需要(C)边。
A.nB.n+1C.n-1D.n/2
36在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的(B)倍。
A.1/2B.1C.2D.4
37.用分划交换排序方法对包含有n个关键的序列进行排序,最坏情况下执
行的时间杂度为()。
A.O(n)B.O(log2n)C.O(nlog2n)D.O(n2)
38.邻接表的存储结构下图的深度优先遍历类似于二叉树(树)的(B)。
A.先序遍历B.中序遍历C.后序遍历D.按层遍历
39.邻接表的存储结构下图的广度优先遍历类似于二叉树(树)的(A)。
A.先序遍历B.中序遍历C.后序遍历D.按层遍历
40任何一个无向连通图的最小生成树(B)。
A.只有一棵B.有一棵或多棵
C.一定有多棵D.可能不存在
41.如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。
()就是不稳定的排序方法。
A.起泡排序B.归并排序
C.直接插入法排序D.简单选择排序
42下列排序算法中,某一趟结束后未必能选出一个元素放其最终位置上的是()。
A.堆排序B.冒泡排序
C.快速排序D.直接插入排序
43数据表A中有10000个元素,如果仅要求求出其中最大的10个元素,则采用(A)排序算法最节省空间。
A.堆排序B.希尔排序
C.快速排序D.直接选择排序
44下列排序算法中,第一趟排序完毕后,其最大或最小元素一定在其最终位置上的算法是()。
A.归并排序B.直接插入排序
C.快速排序D.冒泡排序
45.若表r在排序前已按元素键值递增顺序排列,采用(A)方法比较次数较少。
A.直接插入排序B.快速排序
C.归并排序D.选择排序
46下列四个关键字序列中,(C)不是堆。
A.{05,23,16,68,94,72,71,73}
B.{05,16,23,68,94,72,71,73}
C.{05,23,16,73,94,72,71,68}
D.{05,23,16,68,73,71,72,94}
47.当初始序列已经按键值有序时,用直接插入算法进行排序,需要比较的次数为(B)。
A.n2B.nlog2nC.log2nD.n-1
48对有n个记录的有序表采用二分查找,其平均查找长度的量级为()。
A.O(log2n)B.O(nlog2n)
C.O(n)D.O(n2)
49.冒泡排序的时间复杂度是(A)。
A.O(n2)B.O(nlog2n)C.O(n)D.O(log2n)
二、填空题:
1.数据结构的三个方面:
数据的逻辑结构、存储结构(物理结构)、运算(算法)。
2.下面程序段中,执行s语句的次数为n2。
for(inti=1;i<=n;i++)for(intj=1;j<=n;j++)s;
3若一棵二叉树有12个叶结点,则该二叉树中度为2的结点个数为___11__。
4.一般树的存储结构有双亲表示法、孩子兄弟表示法和_孩子链表法_。
5.拓扑排序输出的顶点数小于有向图的顶点数,则该图一定存在_回路____。
6.在n个结点的顺序表中插入一个结点需平均移动_n/2_个结点,具体移动次数取决于_结点数_。
7.在有序表(15,23,24,48,45,62,85)中二分查找关键词23时所需进行的关键词比较次数为____。
8.在一棵树中,叶子_结点没有后继结点。
9.若一棵二叉树有10个叶结点,则该二叉树中度为2的结点个数为_9_。
10、设有一个顺序栈S,元素S1,S2,S3,S4,S5,S6依次进栈,如果6个元素的出栈顺序为S2,S3,S4,S6,S5,S1,则顺序栈的容量至少应为2。
11、在一棵树中,叶子结点没有前驱结点。
12.一棵高度为5的二叉树中最少含有6_个结点,最多含有___个结点(根结点从0层开始)。
13.二叉树的遍历方式有三种:
先根、中根和后根遍历。
14.图的存储结构最常用的有邻接矩阵和邻接表。
15.二叉树的存储结构有顺序存储结构和链式存储结构。
16.对于一棵二叉树,设叶子结点数为n0,次数为2的结点数为n2,则n0和n2的关系是。
17在线索二叉树中,线索是指向结点前驱或后继的的指针。
18.在双链表中每个结点有两个指针域,一个指向前驱结点_,另一个指向后继结点__。
19.对于顺序存储的栈,因为栈的空间是有限的,在进行_进栈____运算时,可能发生栈的上溢,在进行__退栈___运算时,可能发生栈的下溢。
20.算法分析的两个主要方面是空间复杂性和时间复杂性_。
21.设根结点的层数为0,定义树的高度为树中层数最大的结点的层数加1。
则高度为k的二叉树具有的结点数目,最少为____,最多为____。
22.队列中允许进行插入的一端称为_对尾。
23.设无向图G的顶点数为n,则要使G连通最少有_____条边。
24若要求一个稠密图G的最小生成树,最好用普里姆算法来求解。
25.拓扑排序输出的顶点数小于有向图的顶点数,则该图一定存在回路_。
26.设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是。
27.在有序表(15,23,24,45,48,62,85)中二分查找关键词23时所需进行的关键词比较次数为___。
28由一棵二叉树的后序序列和中序序列唯一确定这棵二叉树。
29.栈和队列的共同特点是_只允许在端点处插入和删除元素_。
30下面程序段的时间复杂度是__。
31从逻辑关系上讲,数据结构主要分为两大类:
线性结构和_链式结构。
32.在直接插入排序、直接选择排序、分划交换排序、堆排序中稳定的排序方法有_____。
33.具有100个结点的完全二叉树的叶子结点数为__50___。
34克鲁斯卡尔(Kruskar)算法适用于边少的图。
35普里姆(Prim)算法适用于_点少的_图。
36在一棵二叉树中,假定次数为2的结点有8个,次数为1的结点有7个,则叶子结点的个数为___。
37若连通网络上各边的权值均不相同,则该图的最小生成树有___1_棵。
38在待排序的元素序列基本有序的前提下,插入排序、选择排序、快速排序、归并排序这四种排序方法中,效率最高的排序方法是_插入排序
39由权值为12,6,5,9,10的五个叶子结点构造一棵哈夫曼树,该树的带权路径长度为_。
40一个算法的时间复杂度为(5n2+4nlog2n+8n)/(7n),其数量级表示为_n2。
41若二叉树的一个叶子结点是某子树的中根遍历序列中的第一个结点,则它必是该子树的后跟遍历中的第一个结点。
42在循环链表中,从任何一结点出发都能访问到表中的所有结点。
43在有n个叶子结点的哈夫曼树中,其结点总数为不确定。
44判断线索二叉树中某结点指针P所指结点有左孩子的条件是。
45矩阵采用压缩存储是为了节省存储空间。
46双链表中,在指针P所指结点前面插入一个结点s^时的语句序列是:
s->next=p;s->prior=p->prior;p->prior=s;
47在有n个结点无向图中,其边数最多为。
48按顺序存储方法存储的线性表称为顺序表,按链式存储方法存储的线性表称为链表_。
49顺序表相对于链表的优点有方法简单,各种高级语言中都有数组,容易实现_____和顺序表具有按元素序号随机访问的特点。
50在n个结点的顺序表中删除一个结点需平均移动个结点,具体移动次数取
51在n个结点的单链表中要删除p指结点,需找到其其时间复杂度为__。
52在双链表中每个节点有两个指针域,一个指向前驱结点,另一个指向后驱结点。
53图的遍历是指从图中某一顶点出发访问图中全部顶点且使每一顶点仅被访问一次_。
54图的遍历方法有深度优先遍历和广度优先遍历。
55图的深度优先搜索方法类似于二叉树的_先根遍历。
56图的遍历方法有深度优先遍历和广度优先遍历。
57在有n个结点有向图中,其边数最多为。
58.一个算法的时间复杂度为(5n3+4nlog2n+8n)/(7n),其数量级表示为_。
59在一棵二叉树中,假定次数为2的结点有12个,次数为1的结点有7个,则叶子结点的个数为______。
60.下面程序段的时间复杂度是。
61.个无向图中,所有顶点的度数之和等于所有边数倍。
62.单链表表示的链式队列的队头在链表的什么位置。
63.在顺序表(n足够大)中进行顺序查找,其查找不成功的平均长度是。
64.树形结构的特点是:
一个结点可以有一个开始结点。
三、应用题
1.根据下图给出的二叉树,求出先序遍历、中序遍历和后序遍历的结点序列。
2.将下图中的二叉树,转换成相应的森林。
3.已知一个图如下所示,若从顶点0出发求出其深度优先搜索序列。
4.利用普里姆(prim)算法求出下图的最小支撑树。
5.应用直接插入排序算法,对键值序列49,38,65,97,76,13,27,45从小到大进行排序,试写出每趟排序的结果。
6.请给出如下图所示的图的邻接矩阵、邻接表、逆邻接表。
7.给定表(45,36,56,6,64,78,8,96),按数据元素在表中的次序构造一棵二叉查找树。
8.把下图中的二叉树转化为森林。
9.已知数据序列为{49,38,65,97,76,13},对该数据序列进行排序,试写出
直接插入排序每趟的结果。
10将表达式((a+b)-c*(d+e)-f)*(g+h)改写成后缀表达式。
11.举一对具有相同先根、后根遍历序列的二叉树。
12.给定表(45,36,56,6,64,32,8,41),按数据元素在表中的次序构造一棵二叉查找树。
13.设记录的关键字集合key={51,28,38,86,70,90,7,30,40,25},试写出对key进行渐减增量排序(增量d=5,3,1)时,各趟排序结束后的结果。
14.已知一棵树二叉如下,请分别写出按箭序、中序、后序和层次遍历时得到的结点序列。
A
BC
DEF
GH
15.已知一个图如下所示,若从顶点0出发分别求出其深度优先搜索序列和广度优先搜索序列。
16.已知一棵二叉树的中序和前序序列如下,求该二叉树的后序序列。
(6分)
中序序列:
c,b,d,e,a,g,i,h,j,f
前序序列:
a,b,c,d,e,f,g,h,i,j
17.试述顺序存储和链式存储的区别及各自的优缺点。
18请给出如下图所示的权图的邻接矩阵。
19.、请构造权值为{5,13,21,7,18,30,41}的哈夫曼树。
20.我们已经知道,树的先根序列与其对应的二叉树的先根序列相同,树的后根序列与其对应的二叉树的中根序列相同。
那么利用树的先根遍历次序与后根遍历次序,能否唯一确定一棵树?
请说明理由。
21.写出中缀表达式A-(B+C/D)*E的后缀形式。
22.设有序顺序表为{10,20,30,40,50,60,70,80},采用折半查找时,查找成功的平均查找长度是多少?
23.序表(5,12,17,19,23,25,30,36,45,49,58)中,用二分法查找关键词36,进行多少次比较后查找成功?
写出查找过程。
24.有二叉树先序序列为:
ABCDEF,中序序列为:
CBAEDF,试画出该二叉树。
25.有一棵二叉树如下图所示,分别指出其前序、中序遍历的结点序列。
26.对于一个队列,如果输入项序列由1,2,3,4所组成,试给出全部可能的输出序列。
27.为什么说树是一种非线性结构?
28.找出所有这样的二叉树形,其结点在先根次序遍历和中根次序遍历下的排列是一样的。
29.有
个顶点的无向连通图至少有多少条边?
有
个顶点的有向连通图至少有多少条边?
30.完全二叉树用什么数据结构实现最合适,为什么?
31.求出下图所示有向图的邻接表。
32.求出下图所示无向图的邻接表。
33.用邻接矩阵存储一个包含1000个顶点和1000条边的图,则该图的邻接矩阵中有多少元素?
有多少非零元素?
34.画出下图中二叉树的顺序存储结构示意图。
四、算法设计题
1.设线性表用带头结点的单向链表示,试写出删除表中所有data域为零的元素的算法。
2.已知非空单链表head,试设计一个算法,交换p所指结点与其后继结点在链表中的位置。
3.设一棵二叉树以二叉链表为存储结构,试写一算法求该二叉树上度为2的结点个数。
4.试设计一算法,计算带头结点的单链表head(head指向表头)的结点个数。
5.设一棵二叉树以二叉链表为存储结构,试设计一个算法计算二叉树中叶子结点的个数。
6.判断单链表head(head指向表头)是否是递增的。
7.设一棵二叉树以二叉链表为存储结构,设计一个算法交换二叉树中每个结点的左子女和右子女。
8.假设线性表用带表头结点的单向链表head表示,试写出删除表中所有data域值为x的元素的算法。
9.设一棵二叉树以二叉链表为存储结构,设计一个算法求此二叉树上度为1的结点个数。
10.设计一个算法,在一个单链表head中找出值最小的元素。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 复习题