大学MOOC 数据结构(江西师范大学)1462713165 最新慕课完整章节测试答案
第一章绪论总时长56分26秒共6讲
数据结构的基础概念随堂测验
1、单选题:
一个抽象类型包括数据对象、 和一组处理数据的操作。
选项:
A: 数据对象中各元素间的结构关系
B: 数据元素集
C: 接口
D: 数据对象集
答案: 【 数据对象中各元素间的结构关系】
2、填空题:
抽象数据类型具有 、信息隐蔽的特点。
答案: 【 数据抽象】
第2讲数据结构的内容随堂测验
1、判断题:
线性结构只能用顺序结构来存放,非线性结构只能用非顺序结构来存放。( )
选项:
A: 正确
B: 错误
答案: 【 错误】
2、填空题:
1、数据结构的逻辑结构分为集合、线性、层次和 四种。
答案: 【 网状】
3、填空题:
2、数据结构的存储结构分为 和非顺序 两种。
答案: 【 顺序】
4、填空题:
3、在线性结构、树形结构和图结构中,数据元素之间分别存在着一对一、一对多和 联系。
答案: 【 多对多】
第3讲数据结构与C语言表示随堂测验
1、单选题:
当需要用一个形式参数直接改变对应实参的值时,该形式参数应说明为 。
选项:
A: 与实参同类型指针参数
B: 不需要参数
C: 与实参同类型的参数
D: 全局变量
答案: 【 与实参同类型指针参数】
第4讲算法性能评价随堂测验
1、单选题:
1、执行下面的程序段的时间复杂度为 。for(int i=0;i<m;i++) for(int j=0;j<n;j++) a[i][j]=i*j;
选项:
A: O(
)
B: O(
)
C: O(m*n)
D: O (m+n)
答案: 【 O(m*n) 】
2、单选题:
2、执行下面程序段时,语句S的执行次数为 。for(int i=0;i<=n;i++) for(int j=0;j<i;j++) S;
选项:
A: 
B: 
C: n(n+1)
D: 
答案: 【 
】
第5讲算法与算法描述随堂测验
1、单选题:
算法设计的要求是:正确性、可读性 、 和高效率和低存储 。
选项:
A: 确定性
B: 健壮性
C: 可行性
D: 有限性
答案: 【 健壮性】
2、单选题:
算法具有 有限性、确定性、 、输入、输出五大特性。
选项:
A: 可行性
B: 可读性
C: 健壮性
D: 正确性
答案: 【 可行性】
第一章单元测试
1、单选题:
下面程序段的时间复杂度为( )。for(int i=0;i<m;i++) for(int j=0;j<n;j++) a[i][j]=i*j;
选项:
A: O(m2)
B: O(n2)
C: O(m*n)
D: O(m+n)
答案: 【 O(m*n)】
2、单选题:
执行下面程序段时,语句S的执行次数为( )。for(int i=0;i<=n;i++) for(int j=0;j<=i;j++) S;
选项:
A: n*n
B: n*n/2
C: (n+1)*(n+2)/2
D: n(n+1)/2
答案: 【 (n+1)*(n+2)/2 】
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、单选题:
某算法的时间复杂度是O(n*n),表明该算法的( )。
选项:
A: 问题规模是n*n
B: 问题规模与n*n正比
C: 执行时间与n*n正比
D: 执行时间等于n*n
答案: 【 执行时间与n*n正比 】
9、单选题:
如下程序段: for(i=1;i<=n-1;i++) for(j=i+1;j<=n;j++) x=x+1;其中语句x=x+1执行的语句频度为( )。
选项:
A: n*n
B: n*(n-1)/2
C: n*(n+1)/2
D: n*(n-1)
答案: 【 n*(n-1)/2】
10、单选题:
以下算法的时间复杂度为( )。if (n >= 0) { for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) printf("输入数据大于等于零n"); } else { for(int j = 0; j < n; j++) printf("输入数据小于零n"); }
选项:
A: O(1)
B: O(n*n+n)
C: O(n)
D: O(n*n)
答案: 【 O(n*n)】
11、单选题:
在数组A[0..n-1]中查找给定值K的算法大致如下: i=n-1; while(i>=0 && (A[i]!=k)) i--; return i; 该算法的时间复杂度为( )。
选项:
A: O(n-i+1)
B: O(n-i)
C: O(n)
D: 无法确定
答案: 【 O(n)】
12、单选题:
下面算法的时间复杂度为( )。x=100; y=100;while(y>0) if(x>100) {x=x-10; y--;} else x++;
选项:
A: O(n)
B: O(100)
C: O(1)
D: O(n*n)
答案: 【 O(1)】
13、单选题:
下面的算法是判断n是否为素数,其时间复杂度为( )。void prime(int n){ for (i=2; i<sqrt(n) && (n % i)!=0; i++) ; if (i>sqrt(n)) printf("%d is a prime number", n); else printf("%d is not a prime number", n);}
