智慧树知到《数据结构(中国海洋大学)》章节测试答案


智慧树知到《数据结构(中国海洋大学)》章节测试答案

第一章单元测试

1、图书馆的数目检索系统采用()关系的数据结构。

A.集合

B.线性

C.树形

D.图状

正确答案:线性

2、()是相互之间存在一种或多种特定关系的数据元素的集合。

A.数据

B.数据元素

C.数据项

D.数据结构

正确答案:数据结构

3、()是一个值的集合和定义在这个值集上的一组操作的总称。

A.数据类型

B.数据元素

C.数据项

D.数据结构

正确答案:数据类型

4、算法的确定性是指()

A.当输入数据非法时,算法也能作出反应或进行处理

B.在任何情况下,算法不会出现死循环

C.算法中的每一条指令必须有确切的含义

D.算法中没有逻辑错误

正确答案:算法中的每一条指令必须有确切的含义

第二章单元测试

1、线性表中的数据元素有一个前驱多个后继。

A.正确

B.错误

正确答案:错误

2、用顺序结构存储,删除最后一个结点时,()

A.会移动其它结点位置

B.一定不会移动其它结点位置

C.可能会移动其它结点位置

D.其它

正确答案:一定不会移动其它结点位置

3、链表中逻辑上相邻的元素的物理地址()相邻。

A.必定

B.不一定

C.一定不

D.其它

正确答案:不一定

4、1.假设有两个按元素值递增有序排列的线性表A和B,均以单链表作存储结构,请编写算法将A表和B表归并成一个按元素值递减有序(即非递增有序,允许表中含有值相同的元素)排列的线性表C,并要求利用原表(即A表和B表)的结点空间构造C表。//将合并逆置后的结果放在C表中,并删除B表StatusListMergeOppose()L(LinkList &;A,LinkList &;B,LinkList &;C){; LinkList pa,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->;data<;pb->;data){; 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); return OK;}

A.qa->next=A->next

B.qb->next=A->next

C.qa->next=A

D.qb->next=A

正确答案:qb->next=A->next

5、假设某个单向循环链表的长度大于1,且表中既无头结点也无头指针。已知s为指向链表中某个结点的指针,试编写算法在链表中删除指针s所指结点的前驱结点。StatusListDelete()CL(LinkList &;S){; LinkList p,q; if(S==S->;next)return ERROR; q=S; p=S->;next; while(;){; q=p; p=p->;next; }; q->;next=p->;next; free(p); return OK;}