数据结构(本)形考作业2一、单项选择题(每小题2分,共50分)题目1若让元素1,2,3依次进栈,则出栈顺序不可能为()。A.3,1,2B.1,3,2C.2,1,3D.3,2,1题目2一个队列的入队序列是1,2,3,4。则队列的输出序列是()。A.1,2,3,4B.3,2,4,1C.1,4,3,2D.4,3,2,1题目3向顺序栈中压入新元素时,应当()。A.先移动栈顶指针,再存入元素B.同时进行C.先后次序无关紧要D.先存入元素,再移动栈顶指针题目4在一个栈顶指针为top的链栈中,将一个p指针所指的结点入栈,应执行()。A.p-next=top;top=p;B.p-next=top-next;top-next=p;C.top-next=p;D.p-next=top-next;top=top-next;题目5在一个栈顶指针为top的链栈中删除一个结点时,用x保存被删结点的值,则执行()。A.top=top-next;x=top-data;B.x=top;top=top-next;C.x=top-data;top=top-next;D.x=top-data;题目6判断一个顺序队列(最多元素为m)为空的条件是()。A.rear=mB.rear==m-1C.front==rear+1D.front==rear题目7判断一个循环队列为满的条件是()。A.rear=MaxSizeB.front==rear+1C.rear%MaxSize==frontD.(rear+1)%MaxSize==front题目8判断栈满(元素个数最多n个)的条件是()。A.top==0B.top=-1C.top==n-1D.top!=0题目9设有一个20阶的对称矩阵A(第一个元素为a1,1),采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵元素a6,2在一维数组B中的下标是()。A.23B.21C.17D.28题目10在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入缓冲区中,而打印机则从缓冲区中取出数据打印,该缓冲区应该是一个()结构。A.堆栈B.队列C.线性表D.数组题目11一个递归算法必须包括()。A.递归部分B.终止条件和迭代部分C.迭代部分D.终止条件和递归部分题目12在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为()。A.r=f-next;B.f=f-next;C.r=r-next;D.f=r-next;题目13在一个链队中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算为()。A.f-next=s;f=s;B.s-next=f;f=s;C.s-next=r;r=s;D.r-next=s;r=s;题目14数组a经初始化chara[]=“English”;a[7]中存放的是()。A.字符hB.变量hC.hD.字符串的结束符题目15设主串为“ABcCDABcdEFaBc”,以下模式串能与主串成功匹配的是()。A.AbcB.BCdC.ABCD.Bcd题目16字符串a1=AEIJING,a2=AEI,a3=AEFANG,a4=AEFI中最大的是()。A.a2B.a3C.a4D.a1题目17两个字符串相等的条件是()。A.两串的长度相等,并且对应位置上的字符相同B.两串的长度相等,并且两串包含的字符相同C.两串的长度相等D.两串包含的字符相同题目18一维数组A采用顺序存储结构,每个元素占用6个字节,第6个元素的存储地址为100,则该数组的首地址是()。A.28B.70C.90D.64题目19一个非空广义表的表头()。A.只能是子表B.不可能是原子C.只能是原子D.可以是子表或原子题目20对稀疏矩阵进行压缩存储,可采用三元组表,一个10行8列的稀疏矩阵A,其相应的三元组表共有6个元素,矩阵A共有()个零元素。A.72B.74C.10D.8题目21对稀疏矩阵进行压缩存储,可采用三元组表,一个10行8列的稀疏矩阵A共有73个零元素,A的右下角元素为6,其相应的三元组表中的第7个元素是()。A.(10,8,6)B.(7,10,8)C.(10,8,7)D.(7,8,10)题目22对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,并给该结点赋值a,则执行:p=(structnode*)malloc(sizeof(structnode);p-data=a;和()。A.p-next=top;p=top;B.top-next=p;p=top;C.p-next=top;top=p;D.top=top-next;p=top;题目23头指针为head的带头结点的单向链表为空的判定条件是()为真。A.head-next!=NULLB.head==NULLC.head-next!=NULLD.head-next==NULL题目24设有一个对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),B数组共有55个元素,则该矩阵是()阶的对称矩阵。A.5B.20C.10D.15题目25数组a经初始化chara[]=“English”;a[1]中存放的是()。A.nB.EC.字符ED.字符n二、判断题(每小题2分,16题,共32分)题目26设有一个链栈,栈顶指针为hs,现有一个s所指向的结点要入栈,则可执行操作hs=s;s-next=hs;错题目27设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,则可执行hs=hs-next;x=hs-data;错题目28有一个链栈,栈顶指针为h,现有一个p所指向的结点要入栈,则可执行操作p-next=h;和h=p;对题目29设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,数据域为data,则可执行hs=hs-next;x=hs-data;错题目30在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,则插入所指结点的操作为r-next=s;r=s;对题目31在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,s指向一个要入队的结点,则入队操作为r=s;r-next=s;错题目32在一个不带头结点的非空链队中,f和r分别为队头和队尾指针,队结点的数据域为data,指针域为next,若要进行出队操作,并用变量x存放出队元素的数据值,则相关操作为x=f-data;f=f-next;对题目33对稀疏矩阵进行压缩存储,可采用三元组表,一个6行7列的稀疏矩阵A相应的三元组表共有8个元素,则矩阵A共有34个零元素。对题目34循环队列的最大存储空间为MaxSize,队头指针为f,队尾指针为r,当(r+1)%MaxSize=f时表明队列已满。对题目35循环队列的队头指针为f,队尾指针为r,当r==f时表明队列已满。错题目36空串的长度是0;空格串的长度是空格字符的个数。对题目37对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的行下标、列下标、和非零元素值三项信息。对题目38循环队列的引入,目的是为了克服假上溢。对题目39设有n阶对称矩阵A,用一维数组s压缩存储A的下三角元素,s的下标从零开始,元素s[26]相应于A中的元素为a7,5。错题目40循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,当队尾指针rear=3时队满。对题目41循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,队尾指针rear=3时,队列中共有5个元素。对三、程序选择填空题(每小题9分,共18分。请点击正确选项,然后拖拽至相应的方框上)题目42以下函数为链栈的进栈操作,x是要进栈的结点的数据域,top为栈顶指针structnode{ElemTypedata;structnode*next;};structnode*top;voidPush(ElemTypex){structnode*p;p=(structnode*)mallocA.sizeof(structnode);p-data=x;p-next=top;top=p;}题目43以下函数为链队列的入队操作,x为要入队的结点的数据域的值,front、rear分别链队列的队头、队尾指针structnode{ElemTypedata;structnode*next;};structnode*front,*rear;voidInQueue(ElemTypex){structnode*p;p=(structnode*)malloc(sizeof(structnode);p-data=x;p-next=NULL;Rear-next=p;rear=p;}