本答案对应课程为:点我自动跳转查看
本课程起止时间为:2020-03-22到2020-08-31
本篇答案更新状态:已完结

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

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+1) 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)的算法运行时间总是小于时间复杂度的算法的运行时间。
H:所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界。
答案: 【算法的有穷性是指算法必须能在执行有限个步骤之后终止。;
算法的优劣与算法描述语言无关,与所用计算机也无关。;
所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界。

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

【作业】第3讲 线性表 作业1

1、 问题:下面函数的功能是:在一个递增有序的顺序表L中插入元素x后仍有序。将算法补充完整。说明:顺序表的类型定义如下:#define MAXSIZE 100 //最大长度typedef struct { ElemType elem[MAXSIZE]; //存放元素 int length; //线性表的当前长度 }SqList;/******/void Insert(SqList &L, ElemType x){ int i,j; if(L.length==MAXSIZE) //判表满 { printf(“full”);return; } for(i=0; i ①x<=L.elem[i]或者x=i

2、 问题:下面函数的功能是:将顺序表L中的元素逆置。将算法补充完整。说明:顺序表的类型定义如下:#define MAXSIZE 100 //最大长度typedef struct { ElemType elem[MAXSIZE]; //存放元素 int length; //线性表的当前长度 }SqList;/******/void Inverse(SqList &L){ int i,j; ElemType t;i=0; j=L.length-1; //i、j分别指向顺序表L的两端for( ; i ①i++, j–②L. elem [i]=L. elem [j]③L. elem [j]=t

【作业】第3讲 线性表 作业2

1、 问题:下面函数的功能是:在一个递增有序的单链表L中插入元素x后仍有序。将算法补充完整。说明:单链表的类型定义如下:typedef int ElemType;typedef struct LNode{ ElemType data; //数据域 struct LNode next; //指针域}LNode,LinkList; // LinkList为指向结构体LNode的指针类型/******/void Insert(LinkList L, ElemType x ){ LNode p,s,q; //q所指结点为p所指结点的前驱q=L; p=L->next; while(&&x>p->data) //从单链表L的第1个元素开始依次与x比较{ q=q->next; ; }s=(LNode )malloc(sizeof(LNode)); s->data=x;//申请、填装结点q->next=s; _; //在q和p所指结点之间插入s所指结点(即插入元素x)}
评分规则: 【 参考答案:①p!=NULL或者p②p=p->next或者p=q->next③s->next=p

2、 问题:下面函数的功能是:将单链表L中的元素逆置。将算法补充完整。说明:单链表的类型定义如下:typedef int ElemType;typedef struct LNode{ ElemType data; //数据域 struct LNode next; //指针域}LNode,LinkList; // LinkList为指向结构体LNode的指针类型/******/void Inverse(LinkList L ){ LNode p,s;; //p指向第一个结点L->next=NULL; //将单链表L置空while(p!=NULL){ s=p; p=p->next; //s指向待插入结点,p指向下一个结点; _; //将s所指结点插入到单链表L的表头}}
评分规则: 【 参考答案:①p=L->next②s->next=L->next③L->next=s

第3讲 线性表 第3讲 线性表 单元测验

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:双向链表
答案: 【顺序表

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:顺序存储结构只能用于存储线性结构。
E:读取线性表的第 i 个元素所需的时间与 i 的大小有关。
F:在一个长度为 n 的有序单链表中插入一个新结点并仍保持有序的时间复杂度为 O(n)。
G:在单链表中,可以从头结点开始查找任何一个结点。
答案: 【线性表的顺序存储结构和链式存储结构都可以进行顺序存取。;
在一个长度为 n 的有序单链表中插入一个新结点并仍保持有序的时间复杂度为 O(n)。;
在单链表中,可以从头结点开始查找任何一个结点。

8、 问题:如果要在单链表中删除 p 所指结点,可执行如下语句序列: q = p -> next ; p -> date = q -> date ; p -> next = ( ); free(q);
选项:
A:p -> next -> next
B:q
C:q -> next
D:q -> next -> next
E:p
答案: 【p -> next -> next;
q -> next

9、 问题:在一个长度为 n (n>1) 的带头结点的单链表上,设有头尾两个指针,下列操作中执行时间与 n 无关的有( )。
选项:
A:删除表中的第一个元素
B:删除表中最后一个元素
C:在第一个元素前插入一个新元素
D:在最后一个元素后插入一个新元素
E:在第一个元素后插入一个新元素

本门课程剩余章节答案为付费内容
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦

   

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注