文章目录[隐藏]

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

【作业】01、数据结构基础 绪论非互评作业—-单项选择题

1、 问题:设n是描述问题规模的非负整数,下面程序片段的时间复杂度为__。x=1;while (x<=n)   x=5*x;A.O(log5n)             B.O(n)C.O(nlog5n)           D.O(n5)
评分规则: 【 C

2、 问题:某算法的空间复杂度为O(1),则      。A.该算法执行不需要任何辅助空间B.该算法执行所需辅助空间大小与问题规模n无关C.该算法执行不需要任何空间D.该算法执行所需全部空间大小与问题规模n无关
评分规则: 【 D

3、 问题:问题:算法分析主要分析的是算法的( )选项:A:正确性B:时间复杂性C:空间复杂性D:可读性
评分规则: 【 时间复杂性;空间复杂性

4、 问题:问题:数据结构是数据对象与对象中数据元素之间关系的集合。选项:A:对B:错
评分规则: 【

5、 问题:问题:数据元素是数据的最小单位。选项:A:错B:对
评分规则: 【

6、 问题:问题:数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用需要而建立的。选项:A:对B:错
评分规则: 【

7、 问题:问题:算法和程序没有区别,所以在数据结构中二者是通用的。选项:A:错B:对
评分规则: 【

8、 问题: 问题:数据结构中,与所使用的计算机无关的是数据的( )结构选项:A:存储B:物理C:物理与存储D:逻辑
评分规则: 【 逻辑

9、 问题:问题:算法分析的目的是( )选项:A:分析算法的易懂性和文档性B:分析算法的效率以求改进C:研究算法中的输入和输出的关系D:找出数据结构的合理性
评分规则: 【 分析算法的效率以求改进

10、 问题:问题:设x,y,n为正整数,下列程序片段的渐进时间复杂度是( )x=1;y=1;while(x + y <= n){if(x > y) y++;else x++;}选项:A:O(n)B: O(n2)C:O(log2n)D:O(( 2/3 )n)
评分规则: 【 O(n)

11、 问题:问题:在数据结构中,从逻辑上可以把数据结构分成 ( )选项:A:非线性结构B:线性结构C:动态结构D:静态结构
评分规则: 【 非线性结构;线性结构

12、 问题:问题:计算机算法必须具备输入、输出和( )、( )、( )5个特性。选项:A:有穷性B:可行性C:确定性D:可扩充性
评分规则: 【 有穷性;可行性;确定性

【作业】01、数据结构基础 绪论作业—-单项选择题

1、 问题:设n是描述问题规模的非负整数,下面程序片段的时间复杂度为__。x=1;while (x<=n)   x=5*x;A.O(log5n)        B.O(n)C.O(nlog5n)           D.O(n5)
评分规则: 【 A

2、 问题:某算法的空间复杂度为O(1),则      。A.该算法执行不需要任何辅助空间B.该算法执行所需辅助空间大小与问题规模n无关C.该算法执行不需要任何空间D.该算法执行所需全部空间大小与问题规模n无关
评分规则: 【 B

3、 问题:问题:数据结构主要研究内存中数据组织和数据处理方法。选项:A:错B:对
评分规则: 【 【对】

4、 问题:问题:数据结构与算法课程的学习目标是( )。选项:A:提高计算思维能力B:具备基本的算法设计与分析能力。C:理解并掌握典型数据结构及七本运算的实现算法。D:能利用所学数据结构和算法知识解决实际问题。
评分规则: 【 提高计算思维能力;具备基本的算法设计与分析能力。;理解并掌握典型数据结构及七本运算的实现算法。;能利用所学数据结构和算法知识解决实际问题。

5、 问题: 问题:数据结构课程的学习重点是( )选项:A:掌握基本的算法分析方法。B:掌握各种数据结构的存储结构的设计与实现。C:掌握各种数据结构的逻辑特性D:掌握基本的算法设计方法
评分规则: 【 掌握基本的算法分析方法。;掌握各种数据结构的存储结构的设计与实现。;掌握各种数据结构的逻辑特性;掌握基本的算法设计方法

02、线性表 第二章 单元测试

1、 问题:问题:一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( )选项:
选项:
A:A:100
B:B:108
C:C:110
D:D:120
答案: 【B:108

2、 问题: 问题: 链式存储结构所占存储空间( )选项:
选项:
A:A:分两部分,一部分存结点值,另一部分存表示结点间关系的指针
B:B:只有一部分,存储表示结点间关系的指针
C:C:只有一部分,存放结点值
D:D:分两部分,一部分存放结点值,另一部分存放结点所占单元数
答案: 【A:分两部分,一部分存结点值,另一部分存表示结点间关系的指针

3、 问题: 问题:单链表的每个结点中包括一个指针next,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的?选项:
选项:
A:A:p->next=q->next; q=p->next;
B:B:q=p->next; p->next=q->next;
C:C:q->next=p->next; p->next=q;
D:D:p->next=q; q->next=q->next;
答案: 【C:q->next=p->next; p->next=q;

4、 问题: 问题:设单链表中结点的结构为(data, next)。若想删除结点p的直接后继,则应执行下列哪一个操作?选项:
选项:
A:A:p->next = p->next->next;
B:B:p->next = p->next;
C:C:p= p->next;p->next = p->next->next;
D:D:p = p->next->next;
答案: 【A:p->next = p->next->next;

5、 问题:问题:设单循环链表中结点的结构为(data, next),且rear是指向非空的带表头结点的单循环链表的尾结点的指针。若想删除链表第一个结点,则应执行下列哪一个操作?选项:
选项:
A:A:s = rear->next->next;rear->next = s->next;free(s);
B:B: s = rear;rear = rear->next;free(s);
C:C:rear = rear->next;free(rear);
D:D:rear = rear->next->next; free(rear);
答案: 【A:s = rear->next->next;rear->next = s->next;free(s);

6、 问题: 问题:设双向循环链表中结点的结构为(data, prior, next)。若想在指针p所指结点之后插入指针s所指结点,则应执行下列哪一个操作?选项:
选项:
A:A:p->next=s;p->next->prior=s;s->prior=p;s->next=p->next;
B:B:p->next=s;s->prior=p;p->next->prior=s;s->next=p->next;
C:C:s->prior=p;s->next=p->next;p->next->prior=s;p->next=s;
D:D:s->prior=p;s->next=p->next;p->next=s;p->next->prior=s;
答案: 【C:s->prior=p;s->next=p->next;p->next->prior=s;p->next=s;

7、 问题: 问题:链表的物理存储结构具有同链表一样的顺序。选项:A:对B:错
选项:
A:正确
B:错误
答案: 【错误

8、 问题: 问题:顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。选项:A:对B:错
选项:
A:正确
B:错误
答案: 【错误

9、 问题: 问题:顺序存储方式的优点是存储密度大,且插入、删除运算效率高。选项:A:对B:错
选项:
A:正确
B:错误
答案: 【错误

10、 问题:问题:在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数与该元素的位置有关。选项:A:错B:对
选项:
A:正确
B:错误
答案: 【正确

【作业】02、线性表 线性表作业—-单项选择题

1、 问题:设线性表中有n个元素,以下运算中,      在单链表上实现要比在顺序表上实现效率更高。A.删除指定位置元素的后一个元素B.在最后一个元素的后面插入一个新元素C.顺序输出前k个元素D.交换第i个元素和第n-i+1个元素的值(i=1,2,…,n)
评分规则: 【 A

2、 问题:以下数据结构中元素之间为非线性关系的是      。A.栈              B.队列C.线性表          D.以上都不是
评分规则: 【 D

3、 问题:顺序表和链表相比存储密度较大,这是因为__。A.顺序表的存储空间是预先分配的B.顺序表不需要增加指针来表示元素之间的逻辑关系C.链表中所有节点的地址是连续的D.顺序表中所有元素的存储地址是不连续的
评分规则: 【 B

4、 问题:在长度为n(n≥1)的循环双链表L中,在尾节点之后插入一个新节点的时间复杂度为__。A. O(n2)               B.O(n)C. O(1)                D.O(nlog2n)
评分规则: 【 C

【作业】02、线性表 线性表非互评型作业—算法设计题

1、 问题:有两个递增有序表,所有元素为整数,均采用带头结点的单链表存储,结点类型定义如下:typedef struct node{   int data;  struct node next;} LinkNode;设计一个尽可能高效的算法,将两个递增有序单链表ha、hb合并为一个递减有序单链表hc,要求算法空间复杂度为O(1)。
评分规则: 【 参考算法如下:void merge(LinkNode
ha, LinkNode hb, LinkNode &hc){   LinkNode pa=ha->next,pb=hb->next,q;    free(hb);    hc=ha; hc->next=NULL;           //hc利用ha的头结点,并设置为空    while (pa!=NULL && pb!=NULL)    //扫描ha、hb的数据结点    {   if (pa->data<pb->data)      //将较小结点采用头插法插入到hc中        {   q=pa->next;            pa->next=hc->next;            hc->next=pa;            pa=q;        }        else        {   q=pb->next;            pb->next=hc->next;            hc->next=pb;            pb=q;        }    }(接下页)
(接上页)    if (pb!=NULL) pa=pb;    while (pa!=NULL)            //将没有扫描完的结点采用头插法插入到hc中    {   q=pa->next;        pa->next=hc->next;        hc->next=pa;        pa=q;    }}评分说明:上述算法的时间复杂度为O(m+n)。若设计的算法时间复杂度为O(m
n),至少扣3分,若设计的算法空间复杂度不为O(1),扣2分。

2、 问题:某带头结点的非空单链表L中所有元素为整数,结点类型定义如下:typedef struct node{   int data;struct node next;} LinkNode;设计一个尽可能高效的算法,将所有小于零的结点移到所有大于等于零的结点的前面。
评分规则: 【 答案:void Move(LinkNode
&L){   LinkNode p=L->next,pre=L;     while (p!=NULL && p->data<0)    //跳过小于0的结点     {      pre=p;p=pre->next;        }    while (p!=NULL)    {   if (p->data<0)          //若p结点值小于0        {   pre->next=p->next;  //从链表中删除p结点            p->next=L->next;    //将p结点插入到头结点之后            L->next=p;            p=pre->next;    //p指向pre之后结点,pre不变        }        else                    //若*p结点值不小于0        {   pre=p;              //pre、p同步后移一个结点            p=p->next;        }    }}

【作业】03、栈和队列 栈和队列作业—单项选择题

1、 问题:若一个栈用数组data[1..n]存储,初始栈顶指针top为n+1,则以下元素x进栈的正确操作是      。A.top++;data[top]=x;     B.data[top]=x;top++;C.top–;data[top]=x;     D.data[top]=x;top–;
评分规则: 【 C

2、 问题:若某循环队列有队首指针front和队尾指针rear,在队不满时进队操作仅会改变      。A.front                 B.rearC.front和rear      D.以上都不队
评分规则: 【 B

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

   

发表回复

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