数据结构形成性考核14答案.docx
《数据结构形成性考核14答案.docx》由会员分享,可在线阅读,更多相关《数据结构形成性考核14答案.docx(38页珍藏版)》请在冰点文库上搜索。
数据结构形成性考核14答案
数据结构形考答案1
一、单项选择题(每小题3分,共60分)
题目1
把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为( )。
选择一项:
A.逻辑结构
B.算法的具体实现
C.给相关变量分配存储单元
D.物理结构
题目2
下列说法中,不正确的是( )。
选择一项:
A.数据项是数据中不可分割的最小可标识单位
B.数据项可由若干个数据元素构成
C.数据可有若干个数据元素构成
D.数据元素是数据的基本单位
题目3
一个存储结点存储一个( )。
选择一项:
A.数据结构
B.数据项
C.数据类型
D.数据元素
题目4
数据结构中,与所使用的计算机无关的是数据的( )。
选择一项:
A.物理结构
B.存储结构
C.物理和存储结构
D.逻辑结构
题目5
在线性表的顺序结构中,以下说法正确的是( )。
选择一项:
A.逻辑上相邻的元素在物理位置上也相邻
B.数据元素是不能随机访问的
C.逻辑上相邻的元素在物理位置上不一定相邻
D.进行数据元素的插入、删除效率较高
题目6
对链表, 以下叙述中正确的是( )。
选择一项:
A. 结点占用的存储空间是连续的
B.插入删除元素的操作一定要要移动结点
C. 可以通过下标对链表进行直接访问
D. 不能随机访问任一结点
题目7
下列的叙述中,不属于算法特性的是( )。
选择一项:
A.可读性
B.有穷性
C.可行性
D.输入性
题目8
算法的时间复杂度与( )有关。
选择一项:
A.数据结构
B.所使用的计算机
C.计算机的操作系统
D.算法本身
题目9
设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为( )。
选择一项:
A.i
B.n-i+1
C.n-i
D.n-i-1
题目10
设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为( )。
选择一项:
A.i
B.n-i
C.n-i-1
D.n-i+1
题目11
在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句( )。
选择一项:
A.p=q->next
B.p->next=q
C.p->next=q->next
D.q->next=NULL
题目12
在一个单链表中p所指结点之后插入一个s所指的结点时,可执行( )。
选择一项:
A.p->next=s->next;
B.s->next=p->next;p->next=s;
C.p->next=s;s->next=p->next
D.p=s->next
题目13
非空的单向循环链表的尾结点满足( )(设头指针为head,指针p指向尾结点)。
选择一项:
A.p==head
B.p==NULL
C.p->next==NULL
D.p->next==head
题目14
链表不具有的特点是( )。
选择一项:
A.插入删除不需要移动元素
B.不必事先估计存储空间
C.可随机访问任一元素
D. 逻辑上相邻的元素在物理位置上不一定相邻
题目15
带头结点的链表为空的判断条件是( )(设头指针为head)。
选择一项:
A.head==NULL
B.head->next==head
C.head!
=NULL
D.head->next==NULL
题目16
在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。
则原顺序表的长度为( )。
选择一项:
A.19
B.25
C.21
D.20
题目17
有关线性表的正确说法是( )。
选择一项:
A.除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继
B.表中的元素必须按由小到大或由大到下排序
C.线性表至少要求一个元素
D.每个元素都有一个直接前驱和一个直接后继
题目18
向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动( )个元素。
选择一项:
A.8
B.63.5
C.7
D.63
题目19
一个顺序表第一个元素的存储地址是90,每个元素的长度为2,则第6个元素的地址是( )。
选择一项:
A.106
B.98
C.102
D.100
题目20
在一个不带头结点的单循环链表中,p、q分别指向表中第一个结点和尾结点,现要删除第一个结点,且p、q仍然分别指向新表中第一个结点和尾结点。
可用的语句是p=p->next;和( )。
选择一项:
A.q=p
B.p=q->next
C.q->next=p
D.p->next=q
二、判断题( 每小题2分,14题,共28分)
题目21
数据元素可以有一个或多个数据项组成。
对
错
题目22
数据元素之间的抽象关系称为物理结构。
对
错
题目23
数据的逻辑结构在计算机中的表示称为逻辑结构。
对
错
题目24
数据的逻辑结构是与存储该结构的计算机相关的。
对
错
题目25
数据结构中,元素之间存在多对多的关系称为树状结构。
对
错
题目26
通常可以把一本含有不同章节的书的目录结构抽象成线性结构。
对
错
题目27
通常可以把某城市中各公交站点间的线路图抽象成树型结构。
对
错
题目28
设有一个不带头结点的单向循环链表,结点的指针域为next,指针p指向尾结点,现要使p指向第一个结点,可用语句p=p->next;。
对
错
题目29
设有一个单向链表,结点的指针域为next,头指针为head,p指向尾结点,为了使该单向链表改为单向循环链表,可用语句p->next=head 。
对
错
题目30
设有一个单向循环链表,结点的指针域为next,头指针为head,指针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-> next; p->next=head;。
对
错
题目34
设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作p->next=head;。
选择一项:
对
错
形考答案2
26
不正确
获得2.00分中的0.00分
标记题目
题干
设有一个链栈,栈顶指针为hs,现有一个s所指向的结点要入栈,则可执行操作。
hs=s;
s-> next=hs;
选择一项:
对
错
题目27
不正确
获得2.00分中的0.00分
标记题目
题干
设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈
结点的指针域为next,则可执行hs=hs->next;x=hs->data;
选择一项:
对
错
题目28
正确
获得2.00分中的2.00分
标记题目
题干
有一个链栈,栈顶指针为h,现有一个p所指向的结点要入栈,则可执行操作p->next=h;
和h=p;
选择一项:
对
错
题目29
不正确
获得2.00分中的0.00分
标记题目
题干
设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,数据域为data,则可执行hs= hs->next;x= hs->data;
选择一项:
对
错
题目30
正确
获得2.00分中的2.00分
标记题目
题干
在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,则插入所指结点的操作为r->next=s;r=s;
选择一项:
对
错
题目31
不正确
获得2.00分中的0.00分
标记题目
题干
在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,s指向一个要入队的结点,则入队操作为r=s;r->next=s;
选择一项:
对
错
题目32
正确
获得2.00分中的2.00分
标记题目
题干
在一个不带头结点的非空链队中,f和r分别为队头和队尾指针,队结点的数据域为data,指针域为next,若要进行出队操作,并用变量x存放出队元素的数据值,则相关操作为x=f->data; f=f->next;
选择一项:
对
错
题目33
正确
获得2.00分中的2.00分
标记题目
题干
对稀疏矩阵进行压缩存储,可采用三元组表,一个6行7列的稀疏矩阵A相应的三元组表共有8个元素,则矩阵A共有34个零元素。
选择一项:
对
错
题目34
正确
获得2.00分中的2.00分
标记题目
题干
循环队列的最大存储空间为MaxSize,队头指针为f,队尾指针为r,当(r+1)%MaxSize=f 时表明队列已满。
选择一项:
对
错
题目35
不正确
获得2.00分中的0.00分
标记题目
题干
循环队列的队头指针为f,队尾指针为r,当r==f时表明队列已满。
选择一项:
对
错
题目36
正确
获得2.00分中的2.00分
标记题目
题干
空串的长度是0;空格串的长度是空格字符的个数。
选择一项:
对
错
题目37
正确
获得2.00分中的2.00分
标记题目
题干
对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的行下标、列下标、和非零元素值三项信息。
选择一项:
对
错
题目38
正确
获得2.00分中的2.00分
标记题目
题干
循环队列的引入,目的是为了克服假上溢。
选择一项:
对
错
题目39
不正确
获得2.00分中的0.00分
标记题目
题干
设有n阶对称矩阵A,用一维数组s压缩存储A的下三角元素,s的下标从零开始,元素 s[26]相应于A中的元素为a 7,5。
选择一项:
对
错
题目40
正确
获得2.00分中的2.00分
标记题目
题干
循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,当队尾指针rear=3时队满。
选择一项:
对
错
题目41
正确
获得2.00分中的2.00分
标记题目
题干
循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,队尾指针rear=3时,队列中共有5个元素。
选择一项:
对
错
形考答案3
二、判断题(每小题1分,共10分)对对错错错对错错错对
题目20对
一棵二叉树的叶结点(终端结点)数为5,单分支结点数为2,该树共有11个结点。
选择一项:
对
错
题目21对
一棵有14个结点的完全二叉树,则它的最高层上有7个结点。
选择一项:
对
错
题目22错
一棵二叉树有6个叶结点,则该树总共有11个结点。
选择一项:
对
错
题目23错
根据搜索方法的不同,图的遍历有.先序;中序;后序三种方法。
选择一项:
对
错
题目24错
对于一棵具有n个结点的二叉树,其相应的链式存储结构中共有n-1个指针域空。
选择一项:
对
错
题目25对
设一棵完全二叉树,其最高层上最右边的叶结点的编号为奇数,该叶结点的双亲结点的编号为10,该完全二叉树一共有21个结点。
选择一项:
对
错
题目26错
设一棵完全二叉树,其最高层上最右边的叶结点的编号为偶数,该叶结点的双亲结点的编号为9,该完全二叉树一共有19个结点。
选择一项:
对
错
题目27错
按照二叉树的递归定义,对二叉树遍历的常用算法有深度优先遍历和深度优先遍两种方法。
选择一项:
对
错
题目28错
一棵有8个权重值构造的哈夫曼数,共有17个结点。
选择一项:
对
错
题目29对
一棵有7个叶结点的二叉树,其1度结点数的个数为2,则该树共有15个结点。
选择一项:
对
错
32
(1)65
32
(2)000
33
(1)80
36
(1). 5,11,6,28,17,58,30,101,18,43,25
别问其他题目为什么没答案
其他题目老师也不会
形考4答案
一、单项选择题(每小题2分,共40分)
1.对线性表进行二分查找时,要求线性表必须( )
以顺序存储方式,且数据元素有序
2.采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为
(n+1)/2
3.有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为( )。
29/10
4.已知一个有序表为{11,22,33,44,55,66,77,88,99},则顺序查找元素55需要比较( )次。
5
5.有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,应该选择的序列是( )
37,24,12,30,53,45,96
6. 对于顺序存储的有序表{5,12,20,26,37,42,46,50,64},若采用折半查找,则查找元素26的比较次数是
4
7.在所有的排序方法中,关键字比较的次数与记录初始排列秩序无关的是
直接选择排序
8.从未排序序列中依次取出元素与已经排好序的序列中的元素作比较。
将其放入已排序序列的正确的位置上,此方法称为
插入排序
9.依次将每两个相邻的有序表合并成一个有序表的排序方法称为
归并排序
10.当两个元素出现逆序的时候就交换位置,这种排序方法称为
交换排序
11.每次把待排序的区间划分为左、右两个子区间,其中左区间中记录的关键字均小于等于基准记录的关键字,右区间中记录的关键字均大于等于基准记录的关键字,这种排序称为( )。
快速排序
12.一组记录的关键字序列为(46,20,30,79,56,38,40,84,90,110),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为40,20,30,38,46,56,79,84,90,110
13.在有序表{10,14,34,43,47,64,75,80,90}中,用折半查找法查找值80时,经( )次比较后查找成功
3
14.对序列(49,38,65,97,76,13,47,50)采用直接插入排序法进行排序,要把第七个元素47插入到已排序中,为寻找插入的合适位置需要进行( )次元素间的比较。
5
15.排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始为空)的一端的方法,称为( )排序。
选择
16.一组记录的关键字序列为(26,59,36,18,20,25),利用堆排序的方法建立的初始小根堆为( )。
18,20,25,59,26,36
17.一组记录的关键字序列为(25,48,16,35,79,82,23,40,36,72),其中,含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为( )16,25,35,48,23,40,79,82,36,72
18.已知10个数据元素为(54,28,16,34,73,62,95,60,26,43),对该数列从小到大排序,经过一趟冒泡排序后的序列为( )28,16,34,54,62,73,60,26,43,95
19.一组记录的关键字序列为(46,79,56,38,40,84),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为( 40,38,46,56,79,84
20.一组记录的关键字序列为(80,57,41,39,46,47),利用堆排序(堆顶元素是最小元素)的方法建立的初始堆为( )39,46,41,57,80,47
二、程序填空题(每题10分,2题,共20分。
请点击正确选项,然后拖拽至相应的方框上)
21.以下函数是二叉排序树的查找算法,若二叉树为空,则返回根结点的指针,否则,返回值是指向树结点的结构指针p(查找成功p指向查到的树结点,不成功p指向为NULL)完成程序中的空格
typedef struct Bnode
{ int key;
struct Bnode*left;
struct Bnode*right;
}Bnode;
Bnode *BSearch(Bnode *bt,intk)
/*bt用于接收二叉排序树的根结点的指针,k用以接收要查找的关键字*/
{ Bnode*p;
if(bt== [NULL])
return(bt);
p=bt;
while(p->key!
= [k])
{ if(kkey)
[p=p>left];
else[p=p>right];
if(p==NULL)break;
}
return([p];
}
22. 以下程序是折半插入排序的算法
设待排序的记录序列存放在a[1],…a[n]中,以a[0]作为辅助工作单元,程序是要把a[i]插入到已经有序的序列a[1],…a[i-1]中。
voidbinsort(NODEa[],intn)
{ intx,i,j,s,k,m;
for(i=2;i<=[n];i++)
{ a[0]=a[i];
x=a[i].key;
s=1;
j=i-1;
while(s<=j)
{ m=[(s+j)/2]
if(x [j=m1]
else
[s=m+1]
}
for(k=i-1;k>=j+1;k--)
[a[k+1]]=a[k];
a[j+1]=a[0];
}
}
后面的没答案了,大家自己选择一下。
24.241,47,46,80,57
26.
(2).36,28,30,46,69,74
以下为非形考答案了
数据库测试
一、单项选择题(本大题共X小题,每小题X分,共X分)
1.关于聚集函数,以下说法正确的是(B )。
A.聚集函数必须要与GROUPBY子句配套使用
B.聚集函数不一定必须与GROUPBY子句配套使用
C.语句“SELECT班级,AVG(语文)FROM学生成绩”语法正确
D.使用GROUPBY子句时,必须要使用聚集函数
2.SELECT语句格式中的“|”代表( C )。
A.必不可少B.可以省略
C.多个选一个D.无特别意思
3.用GROUP BY语句对数据分组后,用来控制出口关条件的语句是( C)。
A.SELECTB.WHERE
C.HAVINGD.ORDER BY
4.在“学生成绩”表中有“学号”“班级”“姓名”“语文”“数学”等字段,要统计各班的语文平均分和数学平均分,以下SQL语句正确的是( A )。
A.SELECT 班级,AVG(语文),AVG(数学) FROM 学生成绩 GROUP BY 班级
B.SELECT 班级,AVG(语文+数学) FROM 学生成绩 GROUP BY 班级
C.SELECT 班级,(语文+数学)/2 FROM 学生成绩 GROUP BY 班级
D.SELECT 班级,COUNT(语文),COUNT(数学)FROM 学生成绩 GROUP BY 班级
5.把“学生成绩”数据表中语文成绩大于80分的团员的语文成绩都再加10分,并改为非团员,下列SQL语句正确的是( B )。
A.UPDATE学生成绩SET语文=语文+10AND是否团员WHERE语文>80AND是否团员
B.UPDATE学生成绩SET语文=语文+10,是否团员=FalseWHERE语文>80AND是否团员
C.UPDATE学生成绩SET语文=语文+10,是否团员=FalseWHERE语文>80AND是否团员=True
D.UPDATE学生成绩SET语文=语文+10,是否团员=FalseWHERE语文>80,是否团员=rue
6.在结构化查询语言SQL中,用CREATETABLE命令创建数据表指定字段类型时需要用到类型名,以下关于类型名的说法错误的是( )。
A.Bit用于定义逻辑型数据,该类型字段只能取0,1两个数值中的一个,不能为空
B.Char[n]用于定义字符型数据,当存储的字符串长度不足时,用空格补足
C.Int用于定义数值型数据,能存储任意数值
D.Datetime用于定义日期型数据
7.在SELECT语句中,使用“GROUPBY学号”时,学号必须在(C )中出现。
A.WHEREB.FROMC.SELECTD.HAVING
8.关于语句“DELETEFROM学生成绩WHERE数学ISNULL”,下列说法正确的是( A )。
A.删除“学生成绩”表中数学成绩为空的所有记录
B.语法错误,改为数学=NULL
C.删除数学成绩非空的记录
D.只删除一条记录
9.在“学生情况”数据表中,将出生日期早于1993年1月1日的籍贯非浙江的学生的入学成绩