国家开放大学《数据结构(本)》形考作业1-4参考答案.docx
《国家开放大学《数据结构(本)》形考作业1-4参考答案.docx》由会员分享,可在线阅读,更多相关《国家开放大学《数据结构(本)》形考作业1-4参考答案.docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、国家开放大学数据结构(本)形考作业1-4参考答案形考作业1一、单项选择题(每小题3分,共60分)1.把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为( )。A. 算法的具体实现B. 物理结构C. 逻辑结构D. 给相关变量分配存储单元2.下列说法中,不正确的是( )。A. 数据项是数据中不可分割的最小可标识单位B. 数据元素是数据的基本单位C. 数据项可由若干个数据元素构成D. 数据可有若干个数据元素构成3.一个存储结点存储一个( )。A. 数据结构B. 数据元素C. 数据类型D. 数据项4.数据结构中,与所使用的计算机无关的是数据的( )。A. 物理和存储结构B. 物理结构C. 逻辑结
2、构D. 存储结构5.在线性表的顺序结构中,以下说法正确的是( )。A. 逻辑上相邻的元素在物理位置上不一定相邻B. 逻辑上相邻的元素在物理位置上也相邻C. 进行数据元素的插入、删除效率较高D. 数据元素是不能随机访问的6.对链表, 以下叙述中正确的是( )。A. 结点占用的存储空间是连续的B. 插入删除元素的操作一定要要移动结点C. 可以通过下标对链表进行直接访问D. 不能随机访问任一结点7.下列的叙述中,不属于算法特性的是( )。A. 可读性B. 输入性C. 可行性D. 有穷性8.算法的时间复杂度与( )有关。A. 算法本身B. 计算机的操作系统C. 数据结构D. 所使用的计算机9.设有一个
3、长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为( )。A. n-i+1B. n-i-1C. n-iD. i10.设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为( )。A. iB. n-iC. n-i-1D. n-i+111.在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句( )。A. p-next=q-nextB. p=q-nextC. p-next=qD. q-next=NULL12.在一个单链表中p所指结点之后插入一个s所指的结点时,可执行( )。A.
4、p-next=s-next;B. p-next= s; s-next= p-nextC. p=s-nextD. s-next=p-next; p-next=s;13.非空的单向循环链表的尾结点满足( )(设头指针为head,指针p指向尾结点)。A. p-next=headB. p=NULLC. p-next=NULLD. p= head14.链表不具有的特点是( )。A. 逻辑上相邻的元素在物理位置上不一定相邻B. 插入删除不需要移动元素C. 不必事先估计存储空间D. 可随机访问任一元素15.带头结点的链表为空的判断条件是( )(设头指针为head)。A. head =NULLB. head!
5、=NULLC. head-next=NULLD. head-next=head16.在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。则原顺序表的长度为( )。A. 20B. 25C. 21D. 1917.有关线性表的正确说法是( )。A. 线性表至少要求一个元素B. 表中的元素必须按由小到大或由大到下排序C. 每个元素都有一个直接前驱和一个直接后继D. 除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继18.向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动( )个元素。A. 8B. 63C. 7D.
6、 63.519.一个顺序表第一个元素的存储地址是90,每个元素的长度为2,则第6个元素的地址是( )。A. 102B. 100C. 106D. 9820. 在一个不带头结点的单循环链表中,p、q分别指向表中第一个结点和尾结点,现要删除第一个结点,且p、q仍然分别指向新表中第一个结点和尾结点。可用的语句是p=p-next;和( )。A. p-next=qB. p=q-nextC. q=pD. q-next=p二、判断题( 每小题2分,14题,共28分)21.数据元素可以有一个或多个数据项组成。()22.数据元素之间的抽象关系称为物理结构。()23.数据的逻辑结构在计算机中的表示称为逻辑结构。()
7、24.数据的逻辑结构是与存储该结构的计算机相关的。()25.数据结构中,元素之间存在多对多的关系称为树状结构。()26.通常可以把一本含有不同章节的书的目录结构抽象成线性结构。()27.通常可以把某城市中各公交站点间的线路图抽象成树型结构。()28.设有一个不带头结点的单向循环链表,结点的指针域为next,指针p指向尾结点,现要使p指向第一个结点,可用语句p=p-next;。()29.设有一个单向链表,结点的指针域为next,头指针为head,p指向尾结点,为了使该单向链表改为单向循环链表,可用语句p-next=head。()30.设有一个单向循环链表,结点的指针域为next,头指针为head
8、,指针p指向表中某结点,若逻辑表达式p-next=head;的结果为真,则p所指结点为尾结点。()31.要在一个单向链表中p所指向的结点之后插入一个s所指向的新结点,若链表中结点的指针域为next,可执行 p-next=s; s-next= p-next;的操作。()32.要在一个单向链表中删除p所指向的结点,已知q指向p所指结点的直接前驱结点,若链表中结点的指针域为next,则可执行q-next= p-next;()33.要在一个带头结点的单向循环链表中删除头结点,得到一个新的不带头结点的单向循环链表,若结点的指针域为next,头指针为head,尾指针为p,则可执行head=head- ne
9、xt; p-next=head;。()34.设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作p-next=head;。()三、程序填空题(每小题6分,共12分。请点击正确选项,然后拖拽至相应的方框上)35.设线性表以不带头结点的单向链表存储,链表头指针为head,以下程序的功能是输出链表中各结点中的数据域data,完成程序中空格部分。 #define NULL 0 void main( ) NODE *head ,*p ; p=head; /*p为工作指针*/ do printf(“%dn”,
10、(pdata); (p=pnext); while(p!=NULL); pdatap=pnextp!=NULL36.设有一个头指针为head的不带头结点单向链表,p、q是指向链表中结点类型的指针变量,p指向链表中结点a, (设链表中没有结点的数据域与结点a的数据域相同),写出相关语句 (1)使该单向链表成为单向循环链表 (2)插入结点s,使它成为a结点的直接前驱q=p; x=p-data;while (qnext!=NULL)q=q-next;q-next=head;q=p; p=p-next;while(p-data!=x) q=p;(p=pnext)s-next=p;(qnext=s) p
11、=pnextqnext=sqnext!=NULL形考作业2一、单项选择题(每小题2分,共50分)1.若让元素1,2,3依次进栈,则出栈顺序不可能为( )。A. 1,3,2B. 3,1,2C. 3,2,1D. 2,1,32.一个队列的入队序列是1,2,3,4。则队列的输出序列是( )。A. 3,2,4,1B. 1,2,3,4C. 1,4,3,2D. 4,3,2,13.向顺序栈中压入新元素时,应当( )。A. 先后次序无关紧要B. 同时进行C. 先存入元素,再移动栈顶指针D. 先移动栈顶指针,再存入元素4.在一个栈顶指针为top的链栈中,将一个p指针所指的结点入栈,应执行( )。A. p-next
12、=top-next;top=top-next;B. top-next=p;C. p-next=top-next;top-next=p;D. p-next=top;top=p;5.在一个栈顶指针为top的链栈中删除一个结点时,用 x保存被删结点的值,则执行( )。A. x=top;top=top-next;B. x=top-data;top=top-next;C. x=top-data;D. top=top-next;x=top-data;6.判断一个顺序队列(最多元素为m)为空的条件是( )。A. front=rearB. rear=m-1C. rear=mD. front=rear+17.判
13、断一个循环队列为满的条件是( )。A. (rear+1)%MaxSize=frontB. front=rear+1C. rear%MaxSize= =frontD. rear=MaxSize8.判断栈满(元素个数最多n个)的条件是( )。A. top=-1B. top=0C. top=n-1D. top!=09.设有一个20阶的对称矩阵A(第一个元素为a1,1),采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始), 则矩阵元素a6,2在一维数组B中的下标是( )。A. 23B. 21C. 28D. 1710.在解决计算机主机与打印机之间速度不匹配问题时通常设置
14、一个打印数据缓冲区,主机将要输出的数据依次写入缓冲区中,而打印机则从缓冲区中取出数据打印,该缓冲区应该是一个( )结构。A. 堆栈B. 线性表C. 数组D. 队列11.一个递归算法必须包括( )。A. 递归部分B. 终止条件和迭代部分C. 迭代部分D. 终止条件和递归部分12.在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为( )。A. f=f-next;B. r=r-next;C. f=r-next;D. r=f-next;13.在一个链队中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算为( )。A. f-next=s;f=s;B. s-next=r;r=s;C
15、. s-next=f;f=s;D. r-next=s;r=s;14.数组a经初始化char a =“English”;a7中存放的是( )。A. 变量hB. 字符hC. hD. 字符串的结束符15.设主串为“ABcCDABcdEFaBc”,以下模式串能与主串成功匹配的是( )。A. AbcB. BcdC. BCdD. ABC16.字符串 a1=AEIJING,a2=AEI,a3=AEFANG,a4=AEFI中最大的是( )。A. a4B. a1C. a3D. a217.两个字符串相等的条件是( )。A. 两串包含的字符相同B. 两串的长度相等,并且对应位置上的字符相同C. 两串的长度相等,并且
16、两串包含的字符相同D. 两串的长度相等18.一维数组A采用顺序存储结构,每个元素占用6个字节,第6个元素的存储地址为100,则该数组的首地址是( )。A. 70B. 28C. 90D. 6419.一个非空广义表的表头( )。A. 只能是原子B. 可以是子表或原子C. 只能是子表D. 不可能是原子20.对稀疏矩阵进行压缩存储,可采用三元组表,一个10 行8列的稀疏矩阵A,其相应的三元组表共有6个元素,矩阵A共有( )个零元素。A. 72B. 10C. 74D. 821.对稀疏矩阵进行压缩存储,可采用三元组表,一个10 行8列的稀疏矩阵A共有73个零元素,A的右下角元素为6,其相应的三元组表中的第
17、7个元素是( )。A. (10,8,7)B. (7,10,8)C. (7,8,10)D. (10,8,6)22.对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,并给该 结点赋值a,则执行: p=(struct node *)malloc(sizeof(struct node);p-data=a;和( )。A. p-next=top;top=p;B. p-next=top;p=top;C. top=top-next;p=top;D. top-next=p;p=top;23.头指针为head的带头结点的单向链表为空的判定条件是( )为真。A. head=NULLB. head
18、-next!=NULLC. head-next!=NULLD. head-next=NULL24.设有一个对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),B数组共有55个元素,则该矩阵是( )阶的对称矩阵。A. 20B. 5C. 15D. 1025.数组a经初始化char a =“English”;a1中存放的是( )。A. 字符EB. EC. nD. 字符n二、判断题(每小题2分,16题,共32分)26.设有一个链栈,栈顶指针为hs,现有一个s所指向的结点要入栈,则可执行操作。hs=s;s- next=hs; ()27.设有一个非空的链栈,栈
19、顶指针为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分别为队头和队尾指针
20、,队结点的指针域为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,队尾
21、指针为r,当r= =f时表明队列已满。()36.空串的长度是0;空格串的长度是空格字符的个数。()37.对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的行下标、列下标、和非零元素值三项信息。()38.循环队列的引入,目的是为了克服假上溢。()39.设有n阶对称矩阵A,用一维数组s压缩存储A的下三角元素,s的下标从零开始,元素 s26相应于A中的元素为a 7,5。()40.循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,当队尾指针rear=3时队满。()41.循环队列的最大存储空间为MaxSize=6,采用少用一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构本 国家 开放 大学 数据结构 作业 参考答案
限制150内