1数据结构习题及参考答案Word下载.docx
- 文档编号:21124049
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:31
- 大小:82.10KB
1数据结构习题及参考答案Word下载.docx
《1数据结构习题及参考答案Word下载.docx》由会员分享,可在线阅读,更多相关《1数据结构习题及参考答案Word下载.docx(31页珍藏版)》请在冰豆网上搜索。
(8)设指针变量p指向单链表结点A,则删除结点A的后继结点B的操作为___________。
A.p->
next->
nextB.P=P->
next
C.p=p->
nextD.P->
next=p
(9)在一个以h为头的单循环链表中,p指针指向链尾的条件是__________.
A.P->
next=hB.p->
next=NULL
next=hD.p->
data=-1
(10)对于只在首尾两端进行插入操作的线性表,宜采用的存储结构为___________。
A.顺序表B.用头指针表示的单循环链表
C.单链表D.用尾指针表示的单循环链表
2.2填空题
(1)线性表是n个元素的_____________________________。
(2)线性表的存储结构有______________________________。
(3)设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为___________________,在链式存储结构上实现顺序查找的平均时间复杂度为___________________。
(4)设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中___________个数据元素;
删除第i个位置上的数据元素需要移动表中___________个元素。
(5)若频繁地对线性表进行插入与删除操作,该线性表应采用_________________存储结构。
(6)链式存储结构中的结点包含________________域和_________________域。
(7)在双链表中,每个结点有两个指针域,一个指向____________,另一个指向_______________。
(8)对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为______________,在表尾插入时间的复杂度为_________________。
(9)设指针变量p指向单链表中的结点A,指针s指向被插入结点B,则在结点A的后面插入结点B的操作序列为_________________________________________________。
(10)设指针变量p指向单链表中的结点A,则删除结点A的后继结点(假设存在)的语句序列我为:
S=p->
next=___________________;
free(s);
习题2参考答案
(1).C.
(2).B.(3).B.(4).B.5.D.6.B.7.B.8.A.9.A.10.D.
2.2.填空题
(1).有限序列
(2).顺序存储和链式存储
(3).O(n)O(n)
(4).n-i+1n-i
(5).链式
(6).数据指针
(7).前驱后继
(8).Ο
(1)Ο(n)
(9).s->
next=s;
(10).s->
习题三
3.1选择题
1)下列说法正确的是()
A.堆栈是在两端操作、先进后出的线性表
B.堆栈是在一端操作、先进先出的线性表
C.队列是在一端操作、先进先出的线性表
D.队列是在两端操作、先进先出的线性表
2)栈和队列的共同点是()
A.都是先进先出
B.都是先进先出
C.只允许在端点出插入和删除元素
D.没有共同点
3)以下数据结构中()是非线性结构。
A.队列
B.栈
C.线性表
D.二叉树
4)若一个栈的入栈序列是1,2,3,•••,n。
其输出序列为p1,p2,p3,•••pn,,,p1=n,则pi为()
A.I
B.N-i
C.N-i+1
D.不确定
5)当利用大小为N的一位素组顺序存储一个栈时,假定用top==N表示栈空,则向这个栈插入一个元素时,首先应执行()语句修改top指针。
A.top++
B.Top--
C.Top=0
D.Top
6)4个元素s栈的顺序是A,B,C,D,经运算,pop(s)后栈顶元素是()
A.AB.B
C.CD.D
7)一个栈的输入序列是a,b,c,d,e,则栈的不可能的输出序列是()
A.adcbaB.decba
C.dceabD.abcde
8)设输入序列是1,2,3,•••n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是()
A.n-i
B.n-1-i
C.n+1-i
D.不能确定
9)字符A、B、C、D依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成()个不同的字符串
A.15B.14
C.16D.21
10)递归函数f(n)=f(n-1)+n(n>
1)的递归出口是()
A.f
(1)=0B.f
(1)=1
C.f(0)=1D.f(n)=n
11)设指针变量top指向当前链式栈的栈顶,则删除栈顶的元素的操作序列为()
A.top=top+1B.top=top-1
C.top->
next=topD.top=top->
12)中缀表达式A-(B+C/D)*E的后缀表达式是()
A.ABC+D/*E-B.ABCD/+E*-
C.AB-C+D/E*D.ABC-+D/E*
13)用front和rear分别表示顺序循环队列的队首和队尾指针,判断队空的条件是()
A.front+1==rearB.(rear+1)%maxsize==front
C.front==0D.front==rear
14)判定一个循环队列QU(最多元素为m0)为满队列的条件是()
A.QU->
front==QU->
rearB.QU->
front!
=QU->
rear
C.QU->
front==(QU->
rear+1)%m0D.QU->
=(QU->
rear+1)%m0
15)设栈s和队列Q的初始状态为空。
元素E1,E2,E3,E4,E5和E6依次通过栈S,一个元素出栈后即进入队列Q。
若6个元素出列的顺序为E2,E4,E3,E6,E5和E1。
则栈S的容量至少应该是()
A.6B.4
C.3D.2
16)用链接式存储的队列。
在进行插入运算时,()
A.仅修改头指针
B.头、尾指针都要修改
C.仅修改尾指针
D.头、尾指针可能都要修改
17)若用一个大小为6的数组实现循环队列,且当前rear和front的值分别为0和3.当从队列中删除一个元素再加入两个元素后。
Rear和front的值分别为()
A.1和5B.2和4
C.4和2D.5和1
18)设顺序循环队列Q[0;
M-1]的头指针分别为F和R,头指针F总是指向头元素的前一位置。
尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()
A.R-F
B.F-R
C.(R-F+M)%M
D.(F-R+M)%M
19)设指针变量front便是链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点x,则入队列的操作序列为()
A.front->
front=sB.s-next=rear;
rear=s
C.rear=>
rear=sD.s-next=front;
20)当利用大小为N的数组顺序存储的一个队列是,该队列的最大长度为()
A.n-2B.n-1
C.nD.n+1
3.2填空题
1)栈的插入和删除只能在栈顶栈顶进行,后进栈的元素必定先出栈,所以又把栈称为_______表;
队列的插入和删除操作分别在队列的两端进行。
先进队列的元素必定先出队列,所以又把队列称为_____表。
2)后缀算式923+-102/-的值为_____中缀算式(3+4X)-2Y/3对应的后缀算式为____________________
3)下面程序段的功能实现数据X进栈,要求在下划线处填上真确的语句。
Typedefstruct{ints[100];
inttop;
}sqstack
Voidpush(sqstack&
stack,intx)
{
If(stack.top==m-1)printf(“overflow”);
Else{__________,___________;
}
4)设指针变量P指向双向循环链表中的结点X。
则删除结点X需要执行的语句序列为_________________,_____________________,(设结点中的两个指针域分别为llink和rlink).
5)设有一个顺序循环队列中有M个存储单元。
则该循环队列中最多能够存储M-1个队列元素;
当前实际存储________个队列元素(设头指针F指向当前队头元素的前一个位置,尾指针指向当前队尾元素的位置)
6)设有一个顺序共享栈S[0;
n-1],其中第一个栈项指针top1的初值为-1,第二个栈顶指针top2的初值为n,则判断共享栈满的条件是______________
7)设F和R分别表示顺序循环队列指针和尾指针,则判断该循环队列为空的条件为_______________
8)顺序循环队列判空的条件是(使用front,rear,n表示)_________
9)顺序循环队列判满的条件是(使用front,rear,n表示)_________
10)顺序循环队列MAXSIZE=N,最多可以存储____________元素
习题3参考答案
3.1.选择题
(1).D
(2).C(3).D(4).C(5).B(6).C(7).C(8).C(9).B(10).AB
(11).D(12).B(13).D(14).C(15).C(16).D(17).B(18).C(19).C(20).C
3.2.填空题
(1)FILO,FIFO
(2)-1,34X*+2Y*3/-
(3)stack.top++,stack.s[stack.top]=x
(4)p>
llink->
rlink=p->
rlink,p->
rlink->
llink=p->
rlink
(5)(R-F+M)%M
(6)top1+1=top2
(7)F==R
(8)front==rear
(9)front==(rear+1)%n
(10)N-1
习题4
4.1选择题
(1)如下陈述中正确的是______。
A.串是一种特殊的线性表B.串的长度必须大于零
C.串中的元素只能是字母D.空串就是空白串
(2)下列关于串的叙述中,正确的是______。
A.串长度是指串中不同字符的个数
B.串是n个字母有序数列
C.如果两个串含有相同的字符,则它们相等
D.只有当两个串的长度相等,并且各个对应位置的字符都相符是串才相等
(3)字符串的长度是指______。
A.串中不同字符的个数B.串中不同字母的个数
C.串中所含字符的个数D.串中不同数字的个数
(4)两个字符串长度相等的充要条件是______。
A.两个字符串长度相等B.两个字符串中对应位置上的字符相等
C.同时具备(A)和(B)D.以上答案都不对
(5)串是一种特殊的线性表,其特殊性体现在______。
A.可以顺序存储B.数据元素是一个字符
C.可以连接存储D.数据元素可以是多个字符
(6)设有两个串p和q,求q在p中首次出现的位置的运算称为______。
A.链接B.模式匹配C.求子串D.求串长
(7)设串sI=“ABCDEFG”,S2=“PQRST”,函数con(X,Y)返回X和Y串的连接串,subs(s,I,j)返回串s的从序号i的字符开始的j个字符组成的字串,len(s)返回串s的长度,则con(subs(sI,2,len(s2)),2的结果串是______。
A.BCDEFB.BCDEFG
C.BCPQRSTD.BCDEFEF
(8)函数substr(“DATASTRUCTURE”,5,9)的返回值为______。
A.“STRUCTURE”B.“DATA”
C.“ASTRUCTUR”D.“DATASTRUCTURE”
(9)常对数组进行的两种基本操作是______。
A.建立与删除B.索引与修改
C.查找与修改D.查找与索引
(10)设串S=“IAMATEACHER!
”,其长度是______。
A.16B.11C.14D.15
4.2填空题
(1)两个串相等的充要条件是__________________。
(2)空串是______,其长度为______。
(3)空格串是______,其长度是______。
(4)s=“Iamamen”长度为______。
(5)s1=“hello”,s2=“boy”,s1,s2连接后为______。
(6)s=“thisisthemainstring”,sub=“string”,strindex(s,sub)是(7)inta[10][10],已知a=1000,sizeof(int)=2,求a[3][3]地址__(8)设有两个串p和q,求q和p中首次出现的位置的运算称为______________。
(9)串的长度是指:
________________________。
(10)s=“xiaotech”所含字串的个数是________________。
习题4参考答案
4.1选择题:
(1).A
(2).D(3).C(4).C(5).B(6).B(7).D(8).A(9).B(10).D
4.2填空题:
(1)串长相等且对应位置字符相等
(2)不含任何元素的串,0
(3)所含字符均是空格,所含空格数
(4)10
(5)“helloboy”
(6)18
(7)1066
(8)由零个或多个任意字符组成的字符序列
(9)串中所含不同字符的个数
(10)36
第五章
一、选择题
1.树最适合用来表示()。
A.有序数据元素B.无序数据元素
C.元素间具有分层次关系的数据D.元素间无联系的数据
2.在m叉树中,度为0的结点称为()。
A.兄弟B.树叶C.树根D.分支结点
3.如果树的结点A有4个兄弟,而且B为A的双亲,则B的度为()。
A.3B.4C.5D.1
4.根据二叉树的定义可知二叉树共有()种不同的形态。
A.4B.5C.6D.7
5.由3个结点可以构造出()种不同形态的二叉树。
A.3B.4C.5D.6
6.具有20个结点的二叉树,其深度最多为()。
A.4B.5C.6D.20
7.高度为h的满二叉树的结点数是()个。
A.log2h+1B.2h+1C.2h-1D.2h-1
8.深度为5的二叉树至多有()个据点。
A.16B.32C.31D.10
9.设一颗二叉树共有50发业主据点(终端据点),则共有()个度为2的结点。
A.25B.49C.50D.51
10.一颗二叉树中根结点的编号为1,而且23好结点有左孩子但没有右孩子,则完全二叉树总共有()个结点。
A.24B.45C.46D.47
11.二叉树的第3层最少有()个结点。
A.0B.1C.2D.3
12.设n、m为一颗二叉树上的俩个结点,在中序遍历时,n在m之前的条件是()。
A.n在m的右方B.n是m祖先C.n在m的左方D.n是m子孙
13.某二叉树的先序序列和后序序列正好相反,则该二叉树可能是()的二叉树。
A.高度大于1的左单支B.高度大于1的右单支
C.最多只有一个结点D.既有左孩子又有右孩子
14..某二叉树的中序序列和后序序列正好相反,则该二叉树一定是()的二叉树。
A.空或只有一个结点B,高度等于其结点数
C.任一结点无左孩子D.任一结点无右孩子
15.有n个结点的二叉树链共有()个空指针域。
A.n-1B.nC.n+1D.n+2
二、填空题
1.一颗深度为5的二叉树,至少有1个叶子结点。
2.一颗完全二叉树采用顺序存储结构,每个结点占4字节,设编号为5的元素地址为
1016,且它有左孩子和右孩子,则该左孩子和右孩子的地址分别为1036和1040。
3.一颗完全二叉树采用顺序存储结构,若编号为i的元素左孩子,则该左孩子的编号为
2i。
4.一颗含有n(n>
1)个结点的K叉树,当k=1时深度最大,此最大深度为n;
当k=n-1时深度最小,此最小深度为2。
5.深度为K的完全二叉树至少有2k-1个结点,至多有2k-1个结点。
6.已知一颗二叉树的先序遍历序列为EBADCFHGIKJ,中序遍历序列为ABCDEFGHIJK,
则该二叉树的后序遍历序列为ACDBGJKIHFE。
7.如果指针p指向一颗二叉树的一个结点,则判断p没有左孩子的逻辑表达式为p!
=NULL。
8.在由n个带权叶子结点构造出的所有二叉树中,带权路径长度最小的二叉树称为Huffman树。
9.在树的孩子兄弟表示法中,每个结点有俩个指针域,一个指向其第一个孩子;
另一个指向
下一个兄弟。
10.树的先根遍历结果与其转换的相应二叉树的先序遍历结果相同;
树的后根遍历结果与其转换的相应二叉树的中序遍历结果相同。
习题5参考答案
5.1选择
(1)C
(2)B(3)C(4)B(5)C(6)D(7)C(8)C(9)B(10)C
(11)B(12)C(13)C(14)C(15)C
5.2填空
(1)1
(2)1036;
1040
(3)2i
(4)1;
n;
n-1;
2
(5)2k-1;
2k-1
(6)ACDBGJKIHFE
(7)p!
=NULL
(8)Huffman树
(9)其第一个孩子;
下一个兄弟
(10)先序遍历;
中序遍历
6.1选择题
(1)一个有8个顶点的有向图,所有顶点的入度之和与所有顶点的初读之和的差是()。
A.16B.4C.0D.2
(2)一个有n个顶点的连通无向图至少有()条边。
A.n-1B.nC.n+1D.n+2
(3)具有n个顶点的完全有向图的弧数为()。
A.n(n-1)/2B.n(n-1)C.n^2D.n^2-1
(4)一个n条边的连通无向图.其顶点的个数至多为()。
A.n-1B.nC.n+1D.n+2
(5)设无向图的顶点个数为n,则该图最多有()条边。
A.n-1B.n(n-1)/2C.n(n+1)/2D.0
(6)任何一个无向连通图的最小生成树()。
A.只有一颗B.有一颗或多颗C.一定有多颗D.可能不存在
(7)下列算法中,()算法用来球图中某顶点到其他所有顶点之间的最短路径。
A.DijkstraB.FloyedC.PrimD.Kruskal
(8)在一个无向图中,所有顶点的度数之和等于所有边数的()倍。
A.2B.3C.1D.1.5
(9)下面关于图的存储的叙述中正确的是()。
A.用邻接表法储存图,占用的存储空间大小只与图中边数有关,而与顶点个数无关B.用邻接表法储存图,占用的存储空间大小与图中边数喝顶点个数都有关
C.用邻接矩阵法储存图,占用的存储空间大小与图中边数喝顶点个数都有关
D.用邻接矩阵法储存图,占用的存储空间大小只与图中边数有关,而与顶点个数无关
(10)设有向无环图G中的有向边集合E={<
1,2>
<
2,3>
3,4>
1,4>
},则下列属于该有向图G的一种拓扑排序序列的是()
A.1,2,3,4B.2,3,4,1
C.1,4,2,3D.1,2,4,3
(11)设有无向图G中的边集合E={(a,b)(a,e)(a,c)(b,e)(e,d)(d,f)(f,c)},则从顶点a出发进行深度优先遍历可以得到的一种顶点序列为()。
A.aedfcbB.acfebdC.aebcfdD.aedfbc
(12)连通图G中有n个顶点,G的生成树是()连通子图。
A.包含G的所有顶点B.包含G的所有边
C.不必包含G的所有顶点D.包含G的所有顶点喝所有边
(13)设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。
A.n-1B.nC.n+1D.2n-1
(14)设无向图G中有n个顶点,e条边,则起对应的邻接中的表头结点喝边表结点的个数分别为()。
A.n,eB.e.nC.2n,eD.n,2e
(15)用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的入度为()。
A.第i行非0元素的个数之和B.第i列非0元素的个数之和
C.第i行0元素的个数之和D.第i列0元素的个数之和
(16)用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的出度为()。
(17)可以判断一个有向图中是否含有回路的方法为()。
A.广度优先搜索B.深度优先搜索C.拓扑排序D.求最短路径
6.2填空题
(1).一个连
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 习题 参考答案