版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构(中国海洋大学)知到章节测试答案智慧树2023年最新第一章测试图书馆的数目检索系统采用
关系的数据结构。
参考答案:
线性
是相互之间存在一种或多种特定关系的数据元素的集合。
参考答案:
数据结构(
)是一个值的集合和定义在这个值集上的一组操作的总称。
参考答案:
数据类型算法的确定性是指
(
)
参考答案:
算法中的每一条指令必须有确切的含义第二章测试线性表中的数据元素有一个前驱多个后继。
参考答案:
错用顺序结构存储,删除最后一个结点时,(
)
参考答案:
一定不会移动其它结点位置链表中逻辑上相邻的元素的物理地址__________相邻。
参考答案:
不一定1.假设有两个按元素值递增有序排列的线性表A和B,均以单链表作存储结构,请编写算法将A表和B表归并成一个按元素值递减有序(即非递增有序,允许表中含有值相同的元素)排列的线性表C,并要求利用原表(即A表和B表)的结点空间构造C表。//将合并逆置后的结果放在C表中,并删除B表StatusListMergeOppose_L(LinkList&A,LinkList&B,LinkList&C){
LinkListpa,pb,qa,qb;
pa=A;
pb=B;
qa=pa;
//保存pa的前驱指针
qb=pb;
//保存pb的前驱指针
pa=pa->next;
pb=pb->next;
A->next=NULL;
C=A;
while(pa&&pb){
if(pa->datadata){
qa=pa;
pa=pa->next;
qa->next=A->next;
//将当前最小结点插入A表表头
A->next=qa;
}
else{
qb=pb;
pb=pb->next;
(
)//将当前最小结点插入B表表头
A->next=qb;
}
}
while(pa){
qa=pa;
pa=pa->next;
qa->next=A->next;
A->next=qa;
}
while(pb){
qb=pb;
pb=pb->next;
qb->next=A->next;
A->next=qb;
}
pb=B;
free(pb);
returnOK;}
参考答案:
qb->next=A->next假设某个单向循环链表的长度大于1,且表中既无头结点也无头指针。已知s为指向链表中某个结点的指针,试编写算法在链表中删除指针s所指结点的前驱结点。StatusListDelete_CL(LinkList&S){
LinkListp,q;
if(S==S->next)returnERROR;
q=S;
p=S->next;
while(
){
q=p;
p=p->next;
}
q->next=p->next;
free(p);
returnOK;}
参考答案:
p->next!=S第三章测试若以S和X分别表示进栈和退栈操作,则对初始状态为空的栈可以进行的栈操作系列合法的是(
);
参考答案:
**SSSXXSXX**设计一个迷宫求解的算法,采用___________数据结构最佳。
参考答案:
栈循环队列存储在数组A[0..m-1],则出队时的操作为(
)
参考答案:
front=(front+1)modm1.试写一个算法,识别依次读入的一个以@为结束符的字符序列是否为形如‘序列1&序列2’模式的字符序列。其中序列1和序列2中都不含字符‘&’,且序列2是序列1的逆序列。例如,‘a+b&b+a’是属该模式的字符序列,而‘1+3&3-1’则不是。BOOLSymmetry(chara[]){
inti=0;
Stacks;
InitStack(s);
ElemTypex;
while(a[i]!=’&’&&a[i]){
_________
i++;
}
if(!a[i])returnFALSE;
i++;
while(a[i]){
Pop(s,x);
if(x!=a[i]){
DestroyStack(s);
returnFALSE;
}
i++;
}
returnTRUE;}
参考答案:
Push(s,a[i])Status
SymmetryString(char
p){Queue
q;if(!InitQueue(q))
return
0;Stack
s;InitStack(s);ElemType
e1,e2;while(p){Push(s,p);EnQueue(q,p);p++;}while(!StackEmpty(s)){
(
)
DeQueue(q,e2);if(e1!=e2)
return
FALSE;}return
OK;}
参考答案:
Pop(s,e1);第四章测试设s=’IAMASTUDENT’,t=’GOOD’,则Concat(Substring(s,6,2),Concat(t,SubString(s,7,8)))=(
)
参考答案:
**AGOODSTUDENT**空串与空格串是相同的,这种说法____。
参考答案:
不正确设串sl=″DataStructureswithJava″,s2=“it″,则子串定位函数index(s1,s2)的值为();
参考答案:
18串的长度是指(
)
参考答案:
串中所含字符的个数串是一种数据对象和操作都特殊的线性表。
参考答案:
对第五章测试数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是______。
参考答案:
240假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。已知A的起始存储位置为1000,计算数组A按行存储时元素A[14]第一个字节的位置(
);
参考答案:
1072若采用三元组压缩技术存储稀疏矩阵,只要把每个元素的行下标和列下标互换,就完成了对该矩阵的转置运算,这种观点(
)。
参考答案:
错误广义表((()),a,((b,c),(),d),(((e))))的长度为(
);
参考答案:
4下面说法不正确的是(
)。
参考答案:
**广义表的表头总是一个广义表**1.试按教科书5.5节图5.10所示的结点结构编写复制广义表的递归算法。//由广义表L复制广义表TintCopyGList(GList&T,GList&L){
if(!L)T=NULL;
else{
T=newGLNode;
if(!T)exit(OVERFLOW);
T->tag=L->tag;
if(L->tag==ATOM)T->atom=L->atom;
else{
________
CopyGList(T->tp,L->tp);
}
}
returnOK;}
参考答案:
CopyGList(T->hp,L->hp);第六章测试已知一棵树边的集合为{,,,,,,,,,,,,},问这棵树中结点G的双亲结点为(
)
参考答案:
C一棵二叉树中,叶子的个数为10,则其度为2的结点的个数为(
);
参考答案:
9假如一棵二叉树的中序遍历结果为ABCD,则结点A和结点D的关系一定不是(
);
参考答案:
结点A是结点D的右子树上的结点已知一棵树边的集合为{,,,,,,,,,,,,},将此树转化为二叉树后,E的左孩子为(
);
参考答案:
I一棵哈夫曼树有17个结点,则其叶子结点的个数是
_________。
参考答案:
9写递归算法,将二叉树中所有结点的左、右子树相互交换。StatusExchangeBiTree(BiTree&T){
BiTreep;
if(T){
p=T->lchild;
T->lchild=T->rchild;
T->rchild=p;
ExchangeBiTree(T->lchild);
__________
}
returnOK;}
参考答案:
ExchangeBiTree(T->rchild);试写一个算法,为一棵二叉树建立后序线索二叉树。StatusPostOrderThreading(BiThrTree&T,BiThrTree&pre);//首先建立后序线索树StatusFindNextInBiThrTree(BiThrTree&q,TElemType*p);//再进行查找
//后序线索二叉树的算法StatusPostOrderThreading(BiThrTree&Thrt,BiThrTree&T){
BiThrTreepre;
Thrt=newBiThrNode;//为线索二叉树建立头结点
if(!Thrt)exit(OVERFLOW);
Thrt->LTag=Link;
Thrt->RTag=Thread;
Thrt->rchild=Thrt;//右子树回指
if(!T)Thrt->lchild=Thrt;//若二叉树空,左子树回指
else{
Thrt->lchild=T;
pre=Thrt;
PostThreading(T,pre);//后序遍历进行后序线索化
pre->rchild=Thrt;//最后一个结点线索化
pre->RTag=Thread;
Thrt->rchild=pre;
}
returnOK;}
StatusPostThreading(BiThrTree&T,BiThrTree&pre){
if(T){
if(T->LTag==Link)PostThreading(T->lchild,pre);
if(T->RTag==Link)PostThreading(T->rchild,pre);
if(!T->lchild){
T->LTag=Thread;
___________
}
if(pre&&!pre->rchild){
pre->RTag=Thread;
pre->rchild=T;
}
pre=T;
}
returnOK;}
参考答案:
T->lchild=pre;1.编写递归算法,将二叉树中所有结点的左、右子树相互交换。StatusExchangeBiTree(BiTree&T){
BiTreep;
if(T){
p=T->lchild;
T->lchild=T->rchild;
T->rchild=p;
ExchangeBiTree(T->lchild);
}
returnOK;}
参考答案:
**ExchangeBiTree(T->rchild);**第七章测试下图中结点B的出度为(
)
参考答案:
1对于一个具有n个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小为(
);
参考答案:
n×n采用邻接表存储的图的宽度优先遍历算法类似于二叉树的(
)。
参考答案:
层次遍历下面的无向带权图的最小生成树包含的边有(
)
参考答案:
aeeddccbegdf判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以利用(
);
参考答案:
深度优先遍历算法编写算法实现建立图的邻接表
StatusCreateAG(ALGraph&G){
intn,e,k,i,j;
cout
cin>>n;
cout
cin>>e;
G.vernum=n;
G.arcnum=e;
//建立顶点数组
for(k=0;k
cout
cin>>G.vertices[k].data;
G.vertices[k].firstarc=NULL;
}
//建立邻接表
VertexTypev1,v2;
ArcNodep,q;
for(k=0;k
cout
cin>>v1>>v2;
i=LocateVex(G,v1);
if(iG.vernum-1)returnERROR;
j=LocateVex(G,v2);
if(jG.vernum-1)returnERROR;
if(i==j)returnERROR;
p=newArcNode;
if(!p)returnERROR;
p->adjvex=j;
p->nextarc=NULL;
q=G.vertices[i].firstarc;
if(!q)G.vertices[i].firstarc=p;
else{
while(q->nextarc)__________
//指针定位于邻接表的尾结点
q->nextarc=p;
}
}
returnOK;}
参考答案:
q=q->nextarc编写算法实现从邻接表中取出某个顶点V的存储位置。intLocateVex(ALGraph&G,VertexTypev){
inti=0;
while(______&&i
if(G.vertices[i].data==v)returni;
elsereturn-1;}
参考答案:
G.vertices[i].data!=v第八章测试
1.对线性表进行二分查找时,要求线性表必须(
)。
参考答案:
以顺序方式存储,且结点按关键字有序排序
2.下列描述中不符合二叉排序树特点的是
(
)
参考答案:
根结点的关键字大于左、右子树中所有结点的关键字
3.设哈希表长m=14,哈希函数H(key)=key%11。表中已有4个结点:
addr(15)=4;
addr(38)=5;
addr(61)=6;
addr(84)=7
如用二次探测再散列处理冲突,关键字为49的结点的地址是(
)
参考答案:
9
4.试将折半查找的算法改写成递归算法。
Int
bisearch
(sqlistL,intlow,inthigh
,
elemtypex
)
{
If(low>high)
return(
0
);
else
{
if(L.data[mid]=
=x)
return
(mid);
elseif
(L.data[mid]>x)
bisearch(L,low,mid-1,x);
else
bisearch(L,mid+1,high,x);
}
}//bisearch
参考答案:
mid=(low+high)/25.设计算法判定给定二叉树是否为二叉排序树。
voidBSTree(BiTreet,int&flag,int&last);//声明StatusIsBSTree(BiTreet){
intflag=1;
intlast=0;
BSTree(t,flag,last);
returnflag;}voidBSTree(BiTreet,int&flag,int&last)//取地址不需要返回值{
if(t->lchild&&flag)BSTree(t->lchild,flag,last);//遍历左子树
if(t->data.key>last&&flag)
last=t->data.key;elseflag=0;//last原为父节点值,但到了树叶节点后被树叶节点的key值覆盖,然后开始向上反馈keyif(t->rchild&&flag)
}
参考答案:
BSTree(t->rchild,flag,last);
m阶B_树中的m是指?
参考答案:
每个结点至多有m棵子树第九章测试
1.设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为(
)。
参考答案:
15,40,60,20
2.快速排序方法在情况下最不利于发挥其长处。(
)
参考答案:
要排序的数据已基本有序
一组记录的排序码为(46,7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年宁德九中春季教师招聘笔试备考题库及答案解析
- 2026南昌市劳动保障事务代理中心外包项目招聘人员1人参考考试试题及答案解析
- 2026湖南第一师范学院招聘1人笔试备考试题及答案解析
- 2025-2026江苏盐城市射阳县陈洋实验初级中学春学期学科教师和管理人员招聘13人笔试备考题库及答案解析
- 2026东风模具冲压技术有限公司成都冲焊分公司招聘7人笔试备考题库及答案解析
- 2026江苏扬州市中医院劳务派遣人员招聘34人笔试备考题库及答案解析
- 2026年黑龙江能源职业学院单招综合素质笔试模拟试题含详细答案解析
- 2026年新疆能源职业技术学院高职单招职业适应性测试模拟试题及答案详细解析
- 2026河南郑州六十二中招聘教师笔试备考题库及答案解析
- 5.1.2 生态系统的结构和功能(第一课时)教学设计-2025-2026学年人教版生物八年级上册
- 2025年乡村规划师职业水平测试大纲试题及答案
- 2026年东营职业学院单招综合素质笔试参考题库含详细答案解析
- 2026年护理质控工作计划
- 皇家加勒比游轮介绍
- 煤矿春节后复工安全培训课件
- 如懿传十级测试题及答案
- IPC7711C7721C-2017(CN)电子组件的返工修改和维修(完整版)
- 智能图书馆与人工智能技术融合-洞察阐释
- 2025年安阳职业技术学院单招职业倾向性测试题库学生专用
- 2025年国家药监局医疗器械技术审评检查大湾区分中心事业编制人员招聘5人历年高频重点模拟试卷提升(共500题附带答案详解)
- 京剧名段100首唱词
评论
0/150
提交评论