MOOC 数据结构(南京中医药大学)1463948161 最新慕课完整章节测试答案
第一单元 绪论
绪论
1、单选题:
研究数据结构就是研究( )。
选项:
A: 数据的逻辑结构
B: 数据的存储结构
C: 数据的逻辑结构和存储结构
D: 数据的逻辑结构、存储结构及其基本操作
答案: 【 数据的逻辑结构、存储结构及其基本操作】
2、单选题:
算法分析的两个主要方面是( )。
选项:
A: 空间复杂度和时间复杂度
B: 正确性和简单性
C: 可读性和文档性
D: 数据复杂性和程序复杂性
答案: 【 空间复杂度和时间复杂度】
3、单选题:
具有线性结构的数据结构是( )。
选项:
A: 图
B: 树
C: 二叉树
D: 栈
答案: 【 栈】
4、单选题:
计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( )等5个特性。
选项:
A: 可执行性、可移植性和可扩充性
B: 可执行性、有穷性和确定性
C: 确定性、有穷性和稳定性
D: 易读性、稳定性和确定性
答案: 【 可执行性、有穷性和确定性】
5、单选题:
下面程序段的时间复杂度是( )。for(i=0;i<m;i++) for(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)】
6、单选题:
算法是( )。
选项:
A: 计算机程序
B: 解决问题的计算方法
C: 排序算法
D: 解决问题的有限运算序列
答案: 【 解决问题的有限运算序列】
7、单选题:
某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( )。
选项:
A: O(n)
B: O(nlog2n)
C: O(n2)
D: O(log2n)
答案: 【 O(n2)】
8、单选题:
下面程序段的时间复杂度为( )。i=1;while(i<=n) i=i*3;
选项:
A: O(n)
B: O(3n)
C: O(log3n)
D: O(n3)
答案: 【 O(log3n)】
9、单选题:
下面程序段的时间复杂度是( )。i=s=0;while(s<n){ i++;s+=i;}
选项:
A:
B: O(n2)
C: O(log2n)
D: O(n3)
答案: 【 】
10、单选题:
通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是( )。
选项:
A: 正确性:算法应能正确地实现预定的功能
B: 易读性:算法应易于阅读和理解,以便调试、修改和扩充
C: 健壮性:当环境发生变化时,算法能适当地做出反应或进行处理,不会产生不需要的运行结果
D: 高效性:即达到所需要的时间性能
答案: 【 高效性:即达到所需要的时间性能】
第二单元 线性表
单元测验-线性表
1、单选题:
若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度( )。
选项:
A:
B: O(1)
C: O(n)
D: )
答案: 【 O(n)】
2、单选题:
若一个线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用( )存储方式最节省时间。
选项:
A: 顺序表
B: 单链表
C: 双链表
D: 单循环链表
答案: 【 顺序表】
3、单选题:
非空的循环单链表,头指针为head,其尾结点(p指针指向它)应满足( )。
选项:
A: p->next==head
B: p->next==NULL
C: p==NULL
D: p==head
答案: 【 p->next==head】
4、单选题:
链表不具有的特点是( )。
选项:
A: 可随机访问任一元素
B: 插入删除不需要移动元素
C: 不必事先估计存储空间
D: 所需空间与线性表长度成正比
答案: 【 可随机访问任一元素】
5、单选题:
在双向循环链表中,在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=q;
答案: 【 q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;】
6、单选题:
线性表采用链式存储时,结点的存储地址( )。
选项:
A: 必须是连续的
B: 必须是不连续的
C: 连续与否均可
D: 和头结点的存储地址相连续
答案: 【 连续与否均可】
7、单选题:
线性表L=(a1,a2,……,an),下列说法正确的是( )。
选项:
A: 每个元素都有一个直接前驱和一个直接后继
B: 线性表中至少要有一个元素
C: 表中诸元素的排列顺序必须是由小到大或由大到小
D: 除第一个和最后一个元素外,其余每个元素都由一个且仅有一个直接前驱和直接后继
答案: 【 除第一个和最后一个元素外,其余每个元素都由一个且仅有一个直接前驱和直接后继】
8、单选题:
一个顺序表的第一个元素的存储地址是90,每个元素的长度为2,则第6个元素的存储地址是( )。
选项:
A: 98
B: 100
C: 102
D: 106
答案: 【 100】
9、单选题:
在线性表的下列存储结构中,读取元素花费的时间最少的是( )。
选项:
A: 单链表
B: 双链表
C: 循环链表
D: 顺序表
答案: 【 顺序表】
10、单选题:
在一个单链表中,若删除p所指向结点的后续结点,则执行( )。
选项:
A: p->next=p->next->next;
B: p=p->next; p->next=p->next->next;
C: p =p->next;
D: p=p->next->next;
答案: 【 p->next=p->next->next;】
11、单选题:
将长度为n的单链表连接在长度为m的单链表之后的算法的时间复杂度为( )。
选项:
A: O(1)
B: O(n)
C: O(m)
D: O(m+n)
答案: 【 O(m)】
12、单选题:
线性表的顺序存储结构是一种( )存储结构。
选项:
A: 随机存取
B: 顺序存取
C: 索引存取
D: 散列存取
答案: 【 随机存取】
13、单选题:
不带头结点的单链表(头指针为head)为空的判定条件是( )。
选项:
A: head==NULL
B: head->next==NULL
C: head->next==head
D: head!=NULL
答案: 【 head==NULL】
14、单选题:
在下列对顺序表进行的操作中,算法时间复杂度为O(1)的是( )
选项:
A: 访问第i个元素的前驱(1<i≤n)
B: 在第i个元素之后插入一个新元素(1≤i≤n)
C: 删除第i个元素(1≤i≤n)
D: 对顺序表中元素进行排序
答案: 【 访问第i个元素的前驱(1<i≤n)】
15、单选题:
已知指针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;】
16、单选题:
在以下的叙述中,正确的是( )。
选项:
A: 线性表的顺序存储结构优于链表存储结构
B: 线性表的顺序存储结构适用于频繁插入/删除数据元素的情况
C: 线性表的链表存储结构适用于频繁插入/删除数据元素的情况
D: 线性表的链表存储结构优于顺序存储结构
答案: 【 线性表的链表存储结构适用于频繁插入/删除数据元素的情况】
17、单选题:
在单链表中,指针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;】
18、单选题:
在一个单链表中,已知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;】
第三单元 特殊线性表
单元测试-特殊线性表
1、单选题:
一个栈的输入序列为:a,b,c,d,e,则栈的不可能输出的序列是( )。&lrm