数据结构本课程作业3742Word格式文档下载.docx
《数据结构本课程作业3742Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据结构本课程作业3742Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
next=p;
B.p->
next=top->
next;
top->
C.p->
next=top;
top=p;
D.p->
top=top->
5.在一个栈顶指针为top的链栈中删除一个结点时,用x保存被删结点的值,则执行()
A.x=top;
top=top->
B.x=top->
data;
C.top=top->
x=top->
D.x=top->
6.一般情况下,将递归算法转换成等价的非递归算法应该设置()
A.栈B.队列
C.堆栈或队列D.数组
7.表达式a*(b+c)-d的后缀表达式是()
A.abcd*+-B.abc+*d-C.abc*++d-D.-+*abcd
8.判断一个顺序队列sq(最多元素为m0)为空的条件是()
A.sq->
rear-sq->
front==m0B.sq->
front-1==m0
C.sq->
front==sq->
rearD.sq->
rear+1
9.判断一个循环队列Q(最多元素为m0)为空的条件是()
A.Q->
front==Q->
rearB.Q->
front!
=Q->
rear
C.Q->
front==(Q->
rear+1)%m0D.Q->
=(Q->
rear+1)%m0
10.判断一个循环队列Q(最多元素为m0)为空的条件是()
rear+1)%m0
11.判断栈S满(元素个数最多n个)的条件是()
A.s->
top==0B.s->
top!
=0
C.s->
top==n-1D.s->
=n-1
12.一个队列的入队顺序是a,b,c,d,则离队的顺序是()
A.a,d,cbB.a,b,c,dC.d,c,b,aD.c,b,d,a
13.如果以链表作为栈的存储结构,则退栈操作时()
A.必须判断栈是否满B.判断栈元素类型
C.必须判断栈是否空D.对栈不作任何判断
14.在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入缓冲区中,而打印机则从缓冲区中取出数据打印,该缓冲区应该是一个()结构
A.堆栈B.队列C.数组D.先性表
15.一个递归算法必须包括()
A.递归部分B.终止条件和递归部分
C.迭代部分D.终止条件和迭代部分
16.从一个栈顶指针为top的链栈中删除一个结点时,用变量x保存被删结点的值,则执行()
A.x=top->
B.x=top->
D.top=top->
x=data;
17.在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为()
A.r=f->
B.r=r->
C.f=f->
D.f=r->
18.在一个链队中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算为()
A.f->
next=s;
f=s;
B.r->
r=s;
next=r;
D.s->
next=f;
f=s;
19.以下陈述中正确的是()
A.串是一种特殊的线性表B.串的长度必须大于零
C.串中元素只能是字母D.空串就是空白串
20.设有两个串p和q,其中q是p的子串,q在p中首次出现的位置的算法称为()
A.求子串B.连接
C.匹配D.求串长
21.串是()
A.不少于一个字母的序列B.任意个字母的序列
C.不少于一个字符的序列D.有限个字符的序列
22.串的长度是指()
A.串中所含不同字母的个数B.串中所含字符的个数
C.串中所含不同字符的个数D.串中所含非空格字符的个数
23.若串S=="
English"
,其子串的个数是()
A.9B.16C.36D.28
24.下面关于串的叙述中,不正确的是()
A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算
D.串即可以采用顺序存储,也可以采用链式存储
25.串与普通的线性表相比较,它的特殊性体现在()
A.顺序的存储结构B.链接的存储结构
C.数据元素是一个字符D.数据元素可以任意
26.空串与空格串()
A.相同B.不相同C.可能相同D.无法确定
27.两个字符串相等的条件是()
A.两串的长度相等
B.两串包含的字符相同
C.两串的长度相等,并且两串包含的字符相同
D.两串的长度相等,并且对应位置上的字符相同
28.在实际应用中,要输入多个字符串,且长度无法预定
则应该采用()存储比较合适()
A.链式B.顺序C.堆结构D.无法确定
29.一维数组A采用顺序存储结构,每个元素占用6个字节,第6个元素的存储地址为100,则该数组的首地址是()
A.64B.28
C.70D.90
30.稀疏矩阵采用压缩存储的目的主要是()
A.表达变得简单B.对矩阵元素的存取变得简单
C.去掉矩阵中的多余元素D.减少不必要的存储空间的开销
31.一个非空广义表的表头()
A.不可能是原子B.只能是子表
C.只能是原子D.可以是子表或原子
32.常对数组进行的两种基本操作是()
A.建立与删除B.索引与、和修改
C.查找和修改D.查找与索引
33.设二维数组A[5][6]按行优先顺序存储在内存中,已知A[0][0]起始地址为1000,每个数组元素占用5个存储单元,则元素A[4][4]的地址为()
A.1140B.1145C.1120D.1125
34.设有一个20阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a9,2在一维数组B中的下标是()
A.41B.32C.18D.38
35.一个非空广义表的表头()
A.不可能是子表B.只能是子表
C.只能是原子D.可以是子表或原子
二、填空题
1.栈是限定在表的一端进行插入和删除操作的线性表,又称为
2.队列的特性是
3.往栈中插入元素的操作方式是:
先,后
4.删除栈中元素的操作方式是:
5.循环队列队头指针在队尾指针位置,队列是"
满"
状态
6.在队列的顺序存储结构中,当插入一个新的队列元素时,尾指针,当删除一个元素队列时,头指针
7.循环队列的引入,目的是为了克服
8.向顺序栈插入新元素分为三步:
第一步进行判断,判断条件是;
第二步是修改;
第三步是把新元素赋给
同样从顺序栈删除元素分为三步:
第一步进行判断,判断条件是
第二步是把;
第三步
9.假设以S和X分别表示入栈和出栈操作,则对输入序列a,b,c,d,e一系列栈操作SSXSXSSXXX之后,得到的输出序列为
10.一个递归算法必须包括和
11.判断一个循环队列LU(最多元素为m0)为空的条件是
12.在将中缀表达式转换成后缀表达式和计算后缀表达式的算法中,都需要使用栈,对于前者,进入栈中的元素为表达式中的,而对于后者,进入栈的元素为
,中缀表达式(a+b)/c-(f-d/c)所对应的后缀表达式是
16.向一个栈顶指针为h的链栈中插入一个s所指结点时,可执行________和h=s;
操作
(结点的指针域为next)
17.从一个栈顶指针为h的链栈中删除一个结点时,用x保存被删结点的值,可执行x=h->
和________
18.在一个链队中,设f和r分别为队头和队尾指针,则插入s所指结点的操作为________和r=s;
(结点的指针域为next)
19.在一个链队中,设f和r分别为队头和队尾指针,则删除一个结点的操作为________
20.串是一种特殊的线性表,其特殊性表现在组成串的数据元素都是
21.串的两种最基本的存储方式是和
22.空串的长度是;
空格串的长度是
23.需要压缩存储的矩阵可分为矩阵和矩阵两种
24.设广义表L=((),()),则表头是,表尾是,L的长度是
25.广义表A((a,b,c),(d,e,f))的表尾为
26.两个串相等的充分必要条件是__________
27.设有n阶对称矩阵A,用数组s进行压缩存储,当i?
j时,A的数组元素aij相应于数组s的数组元素的下标为_______
(数组元素的下标从1开始)
28.对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的_______、_______和_______三项信息
三、问答题
1.简述栈和一般线性表的区别
2.简述队列和一般线性表的区别
3.链栈中为何不设头结点?
4.利用一个栈,则:
(1)如果输入序列由A,B,C组成,试给出全部可能的输出序列和不可能的输出序列
(2)如果输入序列由A,B,C,D组成,试给出全部可能的输出序列和不可能的输出序列
5.用S表示入栈操作,X表示出栈操作,若元素入栈顺序为1234,为了得到1342出栈顺序,相应的S和X操作串是什么?