大学MOOC 数据结构导论(广东理工学院)1456625162 最新慕课完整章节测试答案
第一周 绪论
文章目录
第一章小测验
1、单选题:
研究数据结构就是研究( )。
选项:
A: 数据的逻辑结构
B: 数据的存储结构
C: 数据的逻辑结构和存储结构
D: 数据的逻辑结构、存储结构及其数据在运算上的实现
答案: 【 数据的逻辑结构、存储结构及其数据在运算上的实现】
2、单选题:
根据数据元素之间关系的不同特性,以下4类基本逻辑结构反映了4类基本数据组织形式。下列解释错误的是( )。
选项:
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、单选题:
通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量。以下解释错误的是( )。
选项:
A: 正确性算法应能正确地实现预定的功能
B: 易读性指算法应容易阅读和理解,以便于调试、修改和扩充
C: 健壮性指当环境发生变化时,算法能适当地做出反应或进行处理,不会产生不需要的运行结果
D: 高效性指算法要达到所需要的时间性能
答案: 【 高效性指算法要达到所需要的时间性能】
8、单选题:
一个算法的时间耗费的数量级称为该算法的( )。
选项:
A: 效率
B: 速度
C: 可实现性
D: 时间复杂度
答案: 【 时间复杂度】
9、单选题:
数据的( )包括查找、插入、删除、更新、排序等操作类型。
选项:
A: 存储结构
B: 逻辑结构
C: 算法描述
D: 基本操作
答案: 【 基本操作】
10、单选题:
下列程序段的时间复杂度是( )。 for(i=0;i<n;i++) for(j=0;j<m;j++) for(k=0;k<t;k++) c[i][j]=c[i][j]+a[i][k]*b[k][j];
选项:
A: O(m+n+t)
B: O(m*n*t)
C: O(m+n*t)
D: O(m*t+n)
答案: 【 O(m*n*t)】
11、填空题:
分析下面算法(程序段)的时间复杂度是:i=1;while (i<=n) i=i*2;
答案: 【 O(log2n)】
12、填空题:
线性结构中元素之间存在________关系。
答案: 【 一对一】
13、填空题:
树形结构中元素之间存在_________关系
答案: 【 一对多】
14、填空题:
图状结构中元素之间存在________关系
答案: 【 多对多】
课堂练习
1、单选题:
算法分析的目的是( )。
选项:
A: 找出数据结构的合理性
B: 研究算法中的输入和输出的关系
C: 分析算法的效率以求改进
D: 分析算法的易懂性和文档性
答案: 【 分析算法的效率以求改进】
2、单选题:
算法分析的两个主要方面是( )。
选项:
A: 空间复杂性和时间复杂性
B: 正确性和简明性
C: 可读性和文档性
D: 数据复杂性和程序复杂性
答案: 【 空间复杂性和时间复杂性】
3、单选题:
某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( )。
选项:
A: O(n)
B: O(nlog2n)
C: O(n2)
D: O(log2n)
答案: 【 O(n2)】
第二周 顺序表
随堂测验
1、判断题:
顺序表中插入、删除数据元素通常需要移动数据元素。
选项:
A: 正确
B: 错误
答案: 【 正确】
2、判断题:
顺序表中查找指定位序的元素,时间复杂度为O(n)。
选项:
A: 正确
B: 错误
答案: 【 错误】
第三周 链表及实例应用
2.3 链表的定义及定义
1、单选题:
不带头结点的单链表head为空的判定条件是( )。
选项:
A: head==NULL
B: head->next==NULL
C: head->next==head
D: head!=NULL
答案: 【 head==NULL】
2.4 链表的基本操作
1、单选题:
在一个单链表中,已知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; 】
2、单选题:
在单链表中,指针p指向元素为x的结点,实现删除x的后继的语句是( )。
选项:
A: p=p->next;
B: p->next=p->next->next;
C: p->next=p;
D: p=p->next->next;
答案: 【 p->next=p->next->next; 】
2.5 循环链表及双向链表
1、单选题:
在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p->next->next==head,则( )。
选项:
A: p指向头结点
B: p指向尾结点
C: p的直接后继是头结点
D: p的直接后继是尾结点
答案: 【 p的直接后继是尾结点】
2、单选题:
在双向链表中,在p指针所指的结点后插入一个指针q所指向的新结点,修改指针的操作是( )。
选项:
A: p->next=q;q->prior=p;p->next->prior=q;q->next=q;
B: p->next=q;p->next->prior=q;q->prior=p;q->next=p->next;
C: q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;
D: q->next=p->next;q->prior=p;p->next=q;p->next->prior=q;
答案: 【 q->prior=p;q->next=p->next;p->next->prior=q;p->next=q; 】
2.6 线性表应用举例
1、单选题:
在线性表的下列存储结构中,读取元素花费的时间最少的是( )。
选项:
A: 单链表
B: 双链表
C: 循环链表
D: 顺序表
答案: 【 顺序表】
第二章 线性表单元测验
1、单选题:
若一个线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用( )存储方式最节省时间。
选项:
A: 顺序表
B: 单链表
C: 双链表
D: 单循环链表
答案: 【 顺序表 】
2、单选题:
在单链表中,指针p指向元素为x的结点,实现删除x的后继的语句是( )。
选项:
A: p=p->next;
B: p->next=p->next->next;
C: p->next=p;
D: p=p->next->next;
答案: 【 p->next=p->next->next;】
3、单选题:
已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为( )。
选项:
A: q->next=s->next;s->next=p;
B: s->next=p;q->next=s->next;
C: p->next=s->next;s->next=q;
D: s->next=q;p->next=s->next;
答案: 【 q->next=s->next;s->next=p; 】
4、单选题:
在以下的叙述中,正确的是( )。
选项:
A: 线性表的顺序存储结构优于链表存储结构
B: 线性表的顺序存储结构适用于频繁插入/删除数据元素的情况
C: 线性表的链表存储结构适用于频繁插入/删除数据元素的情况
D: 线性表的链表存储结构优于顺序存储结构
答案: 【 线性表的链表存储结构适用于频繁插入/删除数据元素的情况 】
5、单选题:
循环链表的主要优点是( )。
选项:
