精华版国家开放大学电大《数据结构》网络课形考网考作业及答案Word下载.docx
- 文档编号:18590212
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:30
- 大小:252.58KB
精华版国家开放大学电大《数据结构》网络课形考网考作业及答案Word下载.docx
《精华版国家开放大学电大《数据结构》网络课形考网考作业及答案Word下载.docx》由会员分享,可在线阅读,更多相关《精华版国家开放大学电大《数据结构》网络课形考网考作业及答案Word下载.docx(30页珍藏版)》请在冰豆网上搜索。
题目9
设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为()。
C.n-i+1
题目10
设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为()。
C.n-i
题目11
在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。
A.p->
next=q->
next
题目12
在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。
B.s->
next=p->
next;
p->
next=s;
题目13
非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。
B.p->
next==head
题目14
链表不具有的特点是()。
C.可随机访问任一元素
题目15
带头结点的链表为空的判断条件是()(设头指针为head)。
B.head->
next==NULL
题目16
在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。
则原顺序表的长度为()。
C.20
题目17
有关线性表的正确说法是()。
A.除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继
题目18
向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动()个元素。
C.63.5
题目19
一个顺序表第一个元素的存储地址是90,每个元素的长度为2,则第6个元素的地址是()。
C.100
题目20
在一个不带头结点的单循环链表中,p、q分别指向表中第一个结点和尾结点,现要删除第一个结点,且p、q仍然分别指向新表中第一个结点和尾结点。
可用的语句是p=p->
和()。
B.q->
next=p
二、判断题(每小题2分,14题,共28分)
题目21
数据元素可以有一个或多个数据项组成。
对
题目22
数据元素之间的抽象关系称为物理结构。
错
题目23
数据的逻辑结构在计算机中的表示称为逻辑结构。
题目24
数据的逻辑结构是与存储该结构的计算机相关的。
题目25
数据结构中,元素之间存在多对多的关系称为树状结构。
题目26
通常可以把一本含有不同章节的书的目录结构抽象成线性结构。
题目27
通常可以把某城市中各公交站点间的线路图抽象成树型结构。
题目28
设有一个不带头结点的单向循环链表,结点的指针域为next,指针p指向尾结点,现要使p指向第一个结点,可用语句p=p->
。
题目29
设有一个单向链表,结点的指针域为next,头指针为head,p指向尾结点,为了使该单向链表改为单向循环链表,可用语句p->
next=head。
题目30
设有一个单向循环链表,结点的指针域为next,头指针为head,指针p指向表中某结点,若逻辑表达式p->
next==head;
的结果为真,则p所指结点为尾结点。
题目31
要在一个单向链表中p所指向的结点之后插入一个s所指向的新结点,若链表中结点的指针域为next,可执行p->
s->
next=p->
next;
的操作。
题目32
要在一个单向链表中删除p所指向的结点,已知q指向p所指结点的直接前驱结点,若链表中结点的指针域为next,则可执行q->
题目33
要在一个带头结点的单向循环链表中删除头结点,得到一个新的不带头结点的单向循环链表,若结点的指针域为next,头指针为head,尾指针为p,则可执行head=head->
next;
next=head;
题目34
设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作p->
三、程序填空题(每小题6分,共12分。
请点击正确选项,然后拖拽至相应的方框上)
题目35
设线性表以不带头结点的单向链表存储,链表头指针为head,以下程序的功能是输出链表中各结点中的数据域data,完成程序中空格部分。
#defineNULL0
voidmain()
{NODE*head,*p;
p=head;
/*p为工作指针*/
do
{printf(“%d\n”,
;
}while
}
p‑>
datap=p‑>
nextp!
=NULL
题目36
设有一个头指针为head的不带头结点单向链表,p、q是指向链表中结点类型的指针变量,p指向链表中结点a,(设链表中没有结点的数据域与结点a的数据域相同),写出相关语句
(1)使该单向链表成为单向循环链表
(2)插入结点s,使它成为a结点的直接前驱
q=p;
x=p->
data;
while
)q=q->
q->
next=head;
q=p;
p=p->
while(p->
data!
=x)
{q=p;
}
s->
next=p;
形考任务2
一、单项选择题(每小题2分,共50分)
若让元素1,2,3依次进栈,则出栈顺序不可能为()。
A.3,1,2
一个队列的入队序列是1,2,3,4。
则队列的输出序列是()。
D.1,2,3,4
向顺序栈中压入新元素时,应当()。
D.先移动栈顶指针,再存入元素
在一个栈顶指针为top的链栈中,将一个p指针所指的结点入栈,应执行()。
C.p->
next=top;
top=p;
在一个栈顶指针为top的链栈中删除一个结点时,用x保存被删结点的值,则执行()。
A.x=top->
top=top->
判断一个顺序队列(最多元素为m)为空的条件是()。
A.front==rear
判断一个循环队列为满的条件是()。
B.(rear+1)%MaxSize==front
判断栈满(元素个数最多n个)的条件是()。
A.top==n-1
设有一个20阶的对称矩阵A(第一个元素为a1,1),采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵元素a6,2在一维数组B中的下标是()。
A.17
在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入缓冲区中,而打印机则从缓冲区中取出数据打印,该缓冲区应该是一个()结构。
D.队列
一个递归算法必须包括()。
D.终止条件和递归部分
在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为()。
A.f=f->
在一个链队中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算为()。
A.r->
r=s;
数组a经初始化chara[]=“English”;
a[7]中存放的是()。
C.字符串的结束符
设主串为“ABcCDABcdEFaBc”,以下模式串能与主串成功匹配的是()。
C.Bcd
字符串a1="
AEIJING"
,a2="
AEI"
,a3="
AEFANG"
,a4="
AEFI"
中最大的是()。
B.a1
两个字符串相等的条件是()。
D.两串的长度相等,并且对应位置上的字符相同
一维数组A采用顺序存储结构,每个元素占用6个字节,第6个元素的存储地址为100,则该数组的首地址是()。
A.70
一个非空广义表的表头()。
B.可以是子表或原子
对稀疏矩阵进行压缩存储,可采用三元组表,一个10行8列的稀疏矩阵A,其相应的三元组表共有6个元素,矩阵A共有()个零元素。
B.74
对稀疏矩阵进行压缩存储,可采用三元组表,一个10行8列的稀疏矩阵A共有73个零元素,A的右下角元素为6,其相应的三元组表中的第7个元素是()。
A.(10,8,6)
对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,并给该结点赋值a,则执行:
p=(structnode*)malloc(sizeof(structnode);
p->
data=a;
头指针为head的带头结点的单向链表为空的判定条件是()为真。
设有一个对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),B数组共有55个元素,则该矩阵是()阶的对称矩阵。
A.10
a[1]中存放的是()。
C.字符n
二、判断题(每小题2分,16题,共32分)
设有一个链栈,栈顶指针为hs,现有一个s所指向的结点要入栈,则可执行操作。
hs=s;
next=hs;
设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈
结点的指针域为next,则可执行hs=hs->
next;
x=hs->
有一个链栈,栈顶指针为h,现有一个p所指向的结点要入栈,则可执行操作p->
next=h;
和h=p;
设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,数据域为data,则可执行hs=hs->
x=hs->
在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,则插入所指结点的操作为r->
next=s;
r=s;
在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,s指向一个要入队的结点,则入队操作为r=s;
r->
在一个不带头结点的非空链队中,f和r分别为队头和队尾指针,队结点的数据域为data,指针域为next,若要进行出队操作,并用变量x存放出队元素的数据值,则相关操作为x=f->
f=f->
对稀疏矩阵进行压缩存储,可采用三元组表,一个6行7列的稀疏矩阵A相应的三元组表共有8个元素,则矩阵A共有34个零元素。
循环队列的最大存储空间为MaxSize,队头指针为f,队尾指针为r,当(r+1)%MaxSize=f时表明队列已满。
循环队列的队头指针为f,队尾指针为r,当r==f时表明队列已满。
空串的长度是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*)malloc
;
data=x;
A.sizeof(structnode)top=pp‑>
next=top
题目43
以下函数为链队列的入队操作,x为要入队的结点的数据域的值,front、rear分别链队列的队头、队尾指针
structnode*front,*rear;
voidInQueue(ElemTypex)
{
structnode*p;
p=(structnode*)malloc
next=NULL;
rear=
形考任务3
一、单项选择题(每小题2分,共38分)
假定一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为()。
B.16
二叉树第k层上最多有()个结点。
A.2k-1
将含有150个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点的编号为1,则编号为69的结点的双亲结点的编号为()。
C.34
如果将给定的一组数据作为叶子数值,所构造出的二叉树的带权路径长度最小,则该树称为()。
B.哈夫曼树
在一棵度具有5层的满二叉树中结点总数为()。
C.31
一棵完全二叉树共有6层,且第6层上有6个结点,该树共有()个结点。
B.37
利用3、6、8、12这四个值作为叶子结点的权,生成一棵哈夫曼树,该树中所有叶子结点中的最长带权路径长度为()。
A.18
在一棵树中,()没有前驱结点。
A.树根结点
设一棵采用链式存储的二叉树,除叶结点外每个结点度数都为2,该树结点中共有20个指针域为空,则该树有()个叶结点。
B.10
在一个图G中,所有顶点的度数之和等于所有边数之和的()倍。
A.2
邻接表是图的一种()。
A.链式存储结构
图的深度优先遍历算法类似于二叉树的()遍历。
A.先序
已知下图所示的一个图,若从顶点V1出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为()。
D.V1V2V4V8V5V3V6V7
已知如下图所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为()。
D.aecbdf
图状结构中数据元素的位置之间存在()的关系。
B.多对多
在一棵二叉树中,若编号为i的结点存在右孩子,则右孩子的顺序编号为()。
A.2i+1
一棵具有16个结点的完全二叉树,共有()层。
(设根结点在第一层)
B.5
对二叉排序树进行()遍历,可以使遍历所得到的序列是有序序列。
B.中序
已知一个图的边数为m,则该图的所有顶点的度数之和为()。
C.2m
二、判断题(每小题1分,共10分)
一棵二叉树的叶结点(终端结点)数为5,单分支结点数为2,该树共有11个结点。
一棵有14个结点的完全二叉树,则它的最高层上有7个结点。
一棵二叉树有6个叶结点,则该树总共有11个结点。
根据搜索方法的不同,图的遍历有.先序;
中序;
后序三种方法。
对于一棵具有n个结点的二叉树,其相应的链式存储结构中共有n-1个指针域空。
设一棵完全二叉树,其最高层上最右边的叶结点的编号为奇数,该叶结点的双亲结点的编号为10,该完全二叉树一共有21个结点。
设一棵完全二叉树,其最高层上最右边的叶结点的编号为偶数,该叶结点的双亲结点的编号为9,该完全二叉树一共有19个结点。
按照二叉树的递归定义,对二叉树遍历的常用算法有深度优先遍历和深度优先遍两种方法。
一棵有8个权重值构造的哈夫曼数,共有17个结点。
一棵有7个叶结点的二叉树,其1度结点数的个数为2,则该树共有15个结点。
三、程序填空题(每空6分,共12分。
以下程序是后序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,数据域data为字符型,BT指向根结点)。
完成程序中空格部分。
以下程序是中序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,数据域data为字符型,BT指向根结点)。
四、综合应用题(每小题8分,5题,共40分)
形考任务4
一、单项选择题(每小题2分,共40分)
对线性表进行二分查找时,要求线性表必须()。
D.以顺序存储方式,且数据元素有序
采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为()。
D.(n+1)/2
有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为()。
B.29/10
已知一个有序表为{11,22,33,44,55,66,77,88,99},则顺序查找元素55需要比较()次。
C.5
有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,应该选择的序列是()。
D.37,24,12,30,53,45,96
对于顺序存储的有序表{5,12,20,26,37,42,46,50,64},若采用折半查找,则查找元素26的比较次数是()。
A.4
在所有的排序方法中,关键字比较的次数与记录初始排列秩序无关的是()。
B.直接选择排序
从未排序序列中依次取出元素与已经排好序的序列中的元素作比较。
将其放入已排序序列的正确的位置上,此方法称为()。
A.插入排序
依次将每两个相邻的有序表合并成一个有序表的排序方法称为()。
B.归并排序
当两个元素出现逆序的时候就交换位置,这种排序方法称为()。
D.交换排序
每次把待排序的区间划分为左、右两个子区间,其中左区间中记录的关键字均小于等于基准记录的关键字,右区间中记录的关键字均大于等于基准记录的关键字,这种排序称为()。
B.快速排序
C.堆排序
D.归并排序
一组记录的关键字序列为(46,20,30,79,56,38,40,84,90,110),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为()。
A.40,20,30,38,46,56,79,84,90,110
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 精华版 国家 开放 大学 电大 网络 课形考网考 作业 答案