2021年春数据结构A(SPOC)(华中农业大学) 中国大学慕课答案2024完整版100分

其奋此权翟笨巧脾粳克请瞧贯

对应课程:点击查看
起止时间:2021-01-13到2021-06-25
更新状态:每5天更新一次

第1章 绪论 第1章 单元测验

1、 数据结构是一门研究非数值计算的程序设计问题中计算机的什么以及它们之间的关系和运算等的学科

A:数据元素
B:计算方法
C:逻辑存储
D:数据映象
答案: 数据元素

2、 数据结构被形式地定义为(K,R),其中K是什么的有限集,R是K上的映像有限集

A:算法
B:数据元素
C:数据操作
D:逻辑结构
答案: 数据元素

3、 在数据结构中,从逻辑上可以把数据结构分成

A:动态结构和静态结构
B:紧凑结构和非紧凑结构
C:线性结构和非线性结构
D:内部结构和外部结构
答案: 线性结构和非线性结构

4、 算法分析的目的是什么,算法分析的两个主要方面是空间复杂度和时间复杂度

A:找出数据结构的合理性
B:研究算法中的输入和输出的关系
C:分析算法的效率以求改进
D:分析算法的易懂性和文档性
答案: 分析算法的效率以求改进

5、 计算机算法指的是什么,它必须具备输入、输出和确定性、有穷性和稳定性等5个特性

A:计算方法
B:排序方法
C:解决问题的有限运算序列
D:调度方法
答案: 解决问题的有限运算序列

6、 下面程序段的时间复杂度是什么。
for(int i=0; i O(m*n)

7、 执行下面程序段时,执行S语句的次数是什么。
for(int i=1; i<=n; i++)
for(int j=1; j<=i; j++)
S;

A:n^2
B:n^2/2
C:n(n+1)
D:n(n+1)/2
答案: n(n+1)/2

8、 下面算法的时间复杂度是什么。int f( unsigned int n ) { if ( n==0 || n==1 ) return 1; else return n*f(n-1); }

A:O(1)
B:O(n)
C:O(n2)
D:O(n!)
答案: O(n!)

9、 下面程序段的时间复杂性的量级是什么。for(i=1;i<=n; i++) for(j=1;j<=m; j++){ c[i][j]=0; for(k=1;k<=w;k++) c[i][j]+=a[i][k]b[k][j] }

A:O(ijk)
B:O(n
mk)
C:O(n
jk)
D:O(n
mw)
答案: O(n
m*k)

10、 下面关于算法说法错误的是

A:算法最终必须由计算机程序实现
B:为解决某问题的算法同为该问题编写的程序含义是相同的
C:算法的可行性是指指令不能有二义性
D:这三个选项都是错误的
答案: 这三个选项都是错误的

第2章 线性表 第2章 单元测验

1、 对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。插入一个元素时平均要移动表中的多少个元素。

A:  n/2
B:(n+1)/2
C: (n –1)/2
D:n
答案:   n/2

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、 一个向量(一种顺序表)第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是

A:110
B:108
C:100
D:120
答案: 108

8、 不带头结点的单链表head为空的判定条件是

A:head = = NULL;
B:head->next = = NULL;
C:head->next = = head;
D:head! = NULL;
答案: head = = NULL;

9、 在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行

A:s->next=p->next; p->next=s;
B:p->next=s->next; s->next=p;
C:q->next=s; s->next=p;
D:p->next=s; s->next=q;
答案: q->next=s; s->next=p;

10、 在一个单链表HL中,若要删除由指针q所指向结点的后继结点,则执行

A:p = q->next ; p->next = q->next;
B:p = q->next ; q->next = p;
C:p = q->next ; q->next = p->next;
D:D、q->next = q->next->next; q->next = q;
答案: p = q->next ; q->next = p->next;

11、 一个带头结点head的循环单链表为空的判断条件是

A:head==NULL
B:head->next==NULL
C:head->next==head
D:head!=NULL
答案: head->next==head

12、 在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行

A:s->next=p; p->next=s;
B:s->next=p->next; p->next=s;
C:s->next=p->next; p=s;
D:p->next=s; s->next=p;

       


如需购买完整答案,请点击下方红字:

点击这里,购买完整答案


获取更多中国大学慕课答案,请点击这里,进入mooc.mengmianren.com


 

拐筏妻四仆雀弊歌耙怂局翱阑