本答案对应课程为:点我自动跳转查看
本课程起止时间为:2021-03-23到2021-09-30
本篇答案更新状态:每5天更新一次

第一周 绪论 第一周 绪论 单元测验

1、 问题:某算法的时间复杂度为。若该算法在规模为n的数据集上,运行时间为10秒;如果数据规模扩大为2n,该算法大约需要运行( )。
选项:
A:10秒
B:100秒
C:6-7分钟
D:以上都不对
答案: 【以上都不对

2、 问题:以下函数中时间复杂度最小的是( )。
选项:
A:
B:
C:
D:
E:
F:
G:
答案: 【;

3、 问题:下列程序段的时间复杂度是( )。count=0;for (k=1;k<=n;k*=2) for (j=1;j<=n;j++) count++;
选项:
A:
B:
C:
D:
答案: 【

4、 问题:下列程序段的时间复杂度是( )。int k=0,j=0;while (j<=n) {
k++; j+=k;
}
选项:
A:
B:
C:
D:
E:
答案: 【

5、 问题:下面的数据结构是( )。DS=(D,R),其中D={a,b,c,d,e},R={r},r={,,,}。注:“<>”表示有序对。
选项:
A:集合
B:线性结构
C:树形结构
D:图状结构
E:顺序存储结构
F:链式存储结构
答案: 【图状结构

6、 问题:下列关于算法的叙述正确的是( )。
选项:
A:算法的有穷性是指算法必须能在有限时间和有限步骤内执行完。
B:算法的时间复杂度与空间复杂度紧密相关。
C:算法的效率只与问题规模有关,而与数据的存储结构无关。
D:用不同算法求解同一问题的时间复杂度不同。
E:算法的优劣与算法描述语言无关,与所用计算机也无关。
F:算法原地工作的含义是指该算法不需要任何额外的辅助空间。
G:对于相同规模的n,时间复杂度O(n)的算法运行时间总是小于时间复杂度的算法的运行时间。
答案: 【算法的有穷性是指算法必须能在有限时间和有限步骤内执行完。;
算法的优劣与算法描述语言无关,与所用计算机也无关。

7、 问题:下列叙述正确的是( )。
选项:
A:数据元素是数据项中不可分割的最小可标识单位。
B:从逻辑上可以把数据结构分为顺序结构、链式结构等类别。
C:研究数据结构就是研究数据的逻辑结构和存储结构。
D:数据类型可看成是程序设计语言中已实现的数据结构。
E:数据元素之间的关联关系在数据的逻辑结构中体现。
F:数据对象是由有限个类型相同的数据元素构成的。
G:逻辑结构不相同的数据,必须采用不同类型的存储方法。
H:如果数据元素值发生改变,则数据的逻辑结构也随之改变。
I:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
答案: 【数据类型可看成是程序设计语言中已实现的数据结构。;
数据元素之间的关联关系在数据的逻辑结构中体现。;
数据对象是由有限个类型相同的数据元素构成的。;
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

第二周 线性表 第二周 线性表 单元测验

1、 问题:顺序表中,结点的插入和删除操作的时间复杂度分别为( )。
选项:
A:O(1)、O(1)
B:O(n)、O(1)
C:O(1)、O(n)
D:O(n)、O(n)
答案: 【O(n)、O(n)

2、 问题:在表长为n的顺序表中,下列操作中需要移动元素最多的是( )。
选项:
A:删除表中的第一个元素。
B:删除表中的最后一个元素。
C:在第一个元素之前插入一个元素。
D:在最后一个元素之前插入一个元素。
E:在最后一个元素之后插入一个元素。
F:在最后一个元素之后插入一个元素。
答案: 【在第一个元素之前插入一个元素。

3、 问题:带头结点的双向链表 L 为空表时应满足( )。
选项:
A:L == NULL
B:L -> prior == L -> next
C:L -> prior == NULL
D:L -> next == NULL
答案: 【L -> next == NULL

4、 问题:在只设有表尾指针 rear 但没有头结点的非空循环单链表中,删除表尾结点的时间复杂度为( )。
选项:
A:O(1)
B:O(n)
C:O(nlogn)
D:
答案: 【O(n)

5、 问题:当元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用( )存储结构。
选项:
A:顺序表
B:静态单链表
C:双向循环链表
D:单链表
E:循环单链表
F:双向链表
G:静态循环单链表
答案: 【顺序表

6、 问题:已知指针 p 指向某双向链表的一个中间结点,下列语句序列实现的操作是( )。q = p -> prior; p -> prior = q -> prior;q -> prior -> next = p;free(q);
选项:
A:删除 p 结点
B:删除 p 结点的直接前驱结点
C:删除 p 结点的直接后继结点
D:删除 p 结点及其所有后继结点
答案: 【删除 p 结点的直接前驱结点

7、 问题:下列关于存储相同数据元素的说法中,正确的是( )。
选项:
A:顺序存储比链式存储少占空间
B:顺序存储比链式存储多占空间
C:链式存储比顺序存储难于扩充空间
D:顺序存储和链式存储都要求占用整块存储空间
答案: 【顺序存储比链式存储少占空间

8、 问题:在单链表中,增加头结点的主要目的是( )。
选项:
A:方便运算的实现
B:标识表结点中首元结点的位置
C:使单链表至少有一个结点
D:说明单链表是线性表的链式存储实现
答案: 【方便运算的实现

9、 问题:非空的单循环链表的头指针为head,尾指针为rear, 则下列条件中总是成立的为( )。
选项:
A:rear->next == head
B:rear->next >next == head
C:head->next == rear
D:head->next->next == rear
E:head->prior == rear
F:rear->prior == head
答案: 【rear->next == head;
head->prior == rear

10、 问题:双向链表中有两个指针域:prior和next,分别指回前驱及后继。设p指向链表中的一个结点,q指向待插入结点,现要求在p前插入q,则正确的插入语句序列为( )。
选项:
A:p->prior=q; q->next=p; p->prior->next=q; q->prior=p->prior;
B:q->prior=p->prior; p->prior->next=q; q->next=p; p->prior=q->next;
C:q->next=p; p->next=q; p->prior->next=q; q->next=p;
D:p->prior->next=q; q->next=p; q->prior=p->prior; p->prior=q;
E:q->prior=p->prior; q->next=p; q->prior->next=q;q->next->prior=q;
答案: 【p->prior->next=q; q->next=p; q->prior=p->prior; p->prior=q;;
q->prior=p->prior; q->next=p; q->prior->next=q;q->next->prior=q;

11、 问题:下面关于静态链表的表述中,错误的有( )。
选项:
A:静态链表既有顺序存储的优点,又有动态链表的优点。所以,它存取表中第 i 个元素的时间与 i 无关。
B:静态链表在创建时确定了能容纳的元素个数的最大值。
C:静态链表与动态链表在元素的插入、删除操作上类似,不需做元素的移动。
D:静态链表需要分配较大的连续空间。
E:静态链表中元素的指针域存储的是下一个数据元素的内存地址。
F:静态链表无法实现随机存取。
G:所谓静态链表就是不允许插入和删除元素的链表。
答案: 【静态链表既有顺序存储的优点,又有动态链表的优点。所以,它存取表中第 i 个元素的时间与 i 无关。;
静态链表中元素的指针域存储的是下一个数据元素的内存地址。;
所谓静态链表就是不允许插入和删除元素的链表。

本课程剩余章节答案为付费内容
支付后可永久查看
如有任何疑问请及时加入Q群售后群530065400反馈
需要期末答案的同学可加入Q群530065400购买