数据结构(本)形成性考核作业2_第1页
数据结构(本)形成性考核作业2_第2页
数据结构(本)形成性考核作业2_第3页
数据结构(本)形成性考核作业2_第4页
数据结构(本)形成性考核作业2_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE2PAGE9数据结构(本)课程作业作业2(本部分作业覆盖教材第3-5章的内容)一、单项选择题1.若让元素1,2,3依次进栈,则出栈顺序不可能为()。A.3,2,1B.2,1,3C.3,1,2D.1,3,22.一个队列的入队序列是1,2,3,4。则队列的输出序列是()。A.4,3,2,1B.1,2,3,4C.1,4,3,2D.3,2,4,13.向顺序栈中压入新元素时,应当()。A.先移动栈顶指针,再存入元素B.先存入元素,再移动栈顶指针C.先后次序无关紧要D.同时进行4.在一个栈顶指针为top的链栈中,将一个p指针所指的结点入栈,应执行()。A.top->next=p;B.p->next=top->next;top->next=p;C.p->next=top;top=p;D.p->next=top->next;top=top->next;5.在一个栈顶指针为top的链栈中删除一个结点时,用x保存被删结点的值,则执行()。A.x=top;top=top->next;B.x=top->data;C.top=top->next;x=top->data;D.x=top->data;top=top->next;6.一般情况下,将递归算法转换成等价的非递归算法应该设置()。A.栈B.队列C.堆栈或队列D.数组7.表达式a*(b+c)-d的后缀表达式是()。A.abcd*+-B.abc+*d-C.abc*++d-D.-+*abcd8.判断一个顺序队列sq(最多元素为m0)为空的条件是()。A.sq->rear-sq->front==m0B.sq->rear-sq->front-1==m0C.sq->front==sq->rearD.sq->front==sq->rear+19.判断一个循环队列Q(最多元素为m0)为空的条件是()。A.Q->front==Q->rearB.Q->front!=Q->rearC.Q->front==(Q->rear+1)%m0D.Q->front!=(Q->rear+1)%m010.判断一个循环队列Q(最多元素为m0)为空的条件是()。A.Q->front==Q->rearB.Q->front!=Q->rearC.Q->front==(Q->rear+1)%m0D.Q->front!=(Q->rear+1)%m011.判断栈S满(元素个数最多n个)的条件是()。A.s->top==0B.s->top!=0C.s->top==n-1D.s->top!=n-112.一个队列的入队顺序是a,b,c,d,则离队的顺序是()。A.a,d,cbB.a,b,c,dC.d,c,b,aD.c,b,d,a13.如果以链表作为栈的存储结构,则退栈操作时()。A.必须判断栈是否满B.判断栈元素类型C.必须判断栈是否空D.对栈不作任何判断14.在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入缓冲区中,而打印机则从缓冲区中取出数据打印,该缓冲区应该是一个()结构。A.堆栈B.队列C.数组D.先性表15.一个递归算法必须包括()。A.递归部分 B.终止条件和递归部分 C.迭代部分 D.终止条件和迭代部分16.从一个栈顶指针为top的链栈中删除一个结点时,用变量x保存被删结点的值,则执行()。A.x=top->data;top=top->next;B.x=top->data;C.top=top->next;x=top->data;D.top=top->next;x=data;17.在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为()。A.r=f->next;B.r=r->next;C.f=f->next;D.f=r->next;18.在一个链队中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算为()。A.f->next=s;f=s;B.r->next=s;r=s;C.s->next=r;r=s;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.16C24.下面关于串的叙述中,不正确的是()。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.28C.70D.9030.稀疏矩阵采用压缩存储的目的主要是()。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.112534.设有一个20阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a9,2在一维数组B中的下标是()。A.41B.32C35.一个非空广义表的表头()。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->data;和________。(结点的指针域为next)18.在一个链队中,设f和r分别为队头和队尾指针,则插入s所指结点的操作为________和r=s;(结点的指针域为next)19.在一个链队中,设f和r分别为队头和队尾指针,则删除一个结点的操作为________。(结点的指针域为next)20.串是一种特殊的线性表,其特殊性表现在组成串的数据元素都是。21.串的两种最基本的存储方式是和。22.空串的长度是;空格串的长度是。23.需要压缩存储的矩阵可分为矩阵和矩阵两种。24.设广义表L=((),()),则表头是,表尾是,L的长度是。25.广义表A((a,b,c),(d,e,f))的表尾为。26.两个串相等的充分必要条件是__________。27.设有n阶对称矩阵A,用数组s进行压缩存储,当ij时,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操作串是什么?6.有5个元素,其入栈次序为:A、B、C、D、E,在各种可能的出栈次序中,以元素C、D最先的次序有哪几个?7.写出以下运算式的后缀算术运算式⑴3x2+x-1/x+5⑵(A+B)*C-D/(E+F)+G8.在什么情况下可以用递归解决问题?在写递归程序时应注意什么?9.简述广义表和线性表的区别和联系。四、程序填空题1.在下面空格处填写适当的语句,以使下面的循环队列的入队和出队算法完整。defineTRUE1;defineFALSE0;defineMAXSIZE100;typedefcharelemtype;typedefstruct{Elemtypequeue[MAXSIZE];intfront,rear;}sequeuetype;SequeuetypeQ;intencqueue(sequeuetype*Q,elemtypex)if((1))Printf(〝Thecicularqueueisfull!\n〞);return(FALSE);else(2)(3)return(TRUE);}/*encqueue*/elemtypedel_cqueue(sequeuetype*Q)if((4))Printf(〝Thequeueisempty!\n〞)return(NULL);else(5)Return(Q-queue[Q->front]);/*del_cqueue*/2.在下面空格处填写适当的语句,以使下面的链式队列取出元素的算法完整。intwrite(LinkQueue*q){QueueNode*p;if(q->front==q->rear)/*队空*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论