本答案对应课程为:点我自动跳转查看
本课程起止时间为:2021-09-07到2022-01-31
本篇答案更新状态:已完结

【作业】第一章绪论 绪论课后作业

1、 问题:算法的计算量的大小称为计算的()。A.     效率        B.      复杂性       C.      现实性      D.     难度
评分规则: 【 答案 :B

2、 问题:  算法的时间复杂度取决于(  )。A.     问题的规模       B.      待处理数据的初态      C.      A和B         D.     算法的难度
评分规则: 【 答案:C

3、 问题: 下面说法错误的是(   )A.     算法原地工作的含义是指不需要任何额外的辅助空间B.      在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O()的算法C.      所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界D.     同一个算法,实现语言的级别越高,执行效率就越低
评分规则: 【 答案:AA.算法原地工作是指算法所需的辅助空间是常量B.题中是指算法的时间复杂度,不要想当然认为是程序的具体执行时间,而赋予n—个特殊的值。时间复杂度为O(n)的算法,必然总是优于时间复杂度为O()的算法C.时间复杂度总是考虑在最坏情况下的时间复杂度,以保证算法的运行时间不会比它更长D.为严蔚敏教材的原话

4、 问题:从逻辑上可以把数据结构分为( )两大类。A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构
评分规则: 【 答案:C解释: 顺序和链式是物理结构的分类,逻辑上的分类线性,树形,图等。

5、 问题:1.      以下算法的时间复杂度为(  )。void
fun(int n) {                 int i=l;while(i<=n)          i=i2;    }A. O(n)    B. O()    C. O(nlog2n)    D. O(log2n)
评分规则: 【 答案:D解释:基本运算是i=i
2,设其执行时间为T(n),则<=n,即T(n)<=log2n=O(log2n)。

6、 问题:以下算法中加下划线语句的执行次数为()。int
m=0, i, j;for(i=l;i<=n;i++)   for(j=1;j<=2 i;j++)        m++;    int
m=0, i, j;for(i=l;i<=n;i++)   for(j=1;j<=2
i;j++)      m++;A. n(n+1)                B. n                  C. n+1                  D. 
评分规则: 【 答案:A

7、 问题:程序段for(i=n-l;i>l;i–)  for(j=1;j<i;j++)       if (A[j]>A[j+l])                    A[j]与 A[j+1]对换;其中n为正整数,则最后一行的语句频度在最坏情况下是()。A. O(n)              B. O(nlogn)   C            . O()                D. O()
评分规则: 【 答案:D解释:当所有相邻元素都为逆序时,则最后一行的语句么此都会执行。所以在最坏情况下的该语句频度是O()

8、 问题:  以下说法正确的是()A.     数据元素是数据这个集合中的个体    B.      数据元素均有数据项组成C.      数据像是数据的基本单位                 D.     数据元素是数据的最小单位
评分规则: 【 答案:A

9、 问题:以下不属于数据的逻辑结构的是()A.     顺序B.      树C.      图D.     集合
评分规则: 【 答案:D

10、 问题:1.      以下关于抽象数据类型的描述中,正确的是( )A.     抽象数据类型是一个值的集合B.      抽象数据类型是数据的逻辑结构以及操作的组合C.      抽象数据类型的操作可以没有操作结果D.     抽象数据类型只能用C语言来描述
评分规则: 【 答案:B

线下课讲义 算法复杂度计算测验

1、 问题:以下算法的时间复杂度为void fun(int n) 
{    
     int i=l;
     while(i<=n)
     i=i*2;    
}
选项:
A:O(n)
B:O(n^2)
C: O(nlog2n) 
D: O(log2n)
答案: 【 O(log2n)

2、 问题:设n是描述问题规模的非负整数,下面程序片段的时间复杂度是x=2;
while(x<n/2)
    x=2*x;
选项:
A:O(log2n) 
B:O(n) 
C:O(nlog2n) 
D: O(n^2)
答案: 【O(log2n) 

3、 问题:求整数n (n>=0)阶乘的算法如下,其时间复杂度是int fact(int n){
    if (n<=l) return 1;
    return n*fact(n-1);
}
选项:
A:O(log2n) 
B:O(n) 
C: O(nlog2n)  
D: O(n^2)
答案: 【O(n) 

4、 问题:以下算法中加下划线语句的执行次数为()int m=0, i, j;
for(i=l;i<=n;i++)
   for(j=1;j<=2 i;j++)
      m++;
int m=0, i, j;
for(i=l;i<=n;i++)
   for(j=1;j<=2
i;j++)
      m++;
选项:
A:n(n+1) 
B:n
C:(n+1)
D:n*n
答案: 【n(n+1) 

5、 问题:有以下算法,其时间复杂度为void fun (int n){
    int i=0;
    while(iii<=n) 
    i++;  
    }
选项:
A:O(n) 
B: O(nlogn)  
C: 
D:
答案: 【 

线下课讲义 算法复杂度计算测验new

1、 问题:以下算法的时间复杂度为void fun(int n) {         int i=l;     while(i<=n)     i=i*2;    }
选项:
A:O(n)
B:O(n^2)
C: O(nlog2n) 
D: O(log2n)
答案: 【 O(log2n)

2、 问题:设n是描述问题规模的非负整数,下面程序片段的时间复杂度是x=2; while(x<n/2)    x=2*x;
选项:
A:O(log2n) 
B:O(n) 
C:O(nlog2n) 
D: O(n^2)
答案: 【O(log2n) 

3、 问题:以下算法中加下划线语句的执行次数为()int m=0, i, j; for(i=l;i<=n;i++)   for(j=1;j<=2 i;j++)      m++;
选项:
A:n(n+1) 
B:n
C:(n+1)
D:n
n
答案: 【n(n+1) 

4、 问题:有以下算法,其时间复杂度为void fun (int n){    int i=0;    while(iii<=n)     i++;      }
选项:
A:O(n) 
B: O(nlogn) 
C: 
D:
答案: 【 

5、 问题:求整数n (n>=0)阶乘的算法如下,其时间复杂度是int fact(int n){    if (n<=l) return 1;   return n*fact(n-1); }
选项:
A:O(log2n) 
B:O(n) 
C: O(nlog2n) 
D: O(n^2)
答案: 【O(n) 

【作业】第二章线性表 线性表作业

1、 问题:线性表中(    )称为线性表的长度。A、元素的长度            B、数据项的数目        C、数据的长度            D、元素的个数
评分规则: 【 答案:D

2、 问题: 在下列关于线性表的叙述中,错误的是:______。A、采用顺序存储的线性表,必须占用一片连续的存储单元B、采用顺序存储的线性表,便于进行插入和删除操作C、采用链式存储的线性表,不必占用一片连续的存储单元D、采用链式存储的线性表,便于进行插入和删除操作
评分规则: 【 答案:B

3、 问题:设顺序表的每个元素占8个存储单元。第1个单元的存储地址是100,则第6个元素占用的最后一个存储单元的地址为______。A、139                        B、140                        C、147                        D、148
评分规则: 【 答案:C注意审题:第6个元素地址为  100+(6-1)*8=140但是题目考察的是最后一个存储单元的地址,所以是 147

4、 问题:设顺序表的长度为n,并设从表中删除元素的概率相等。则在平均情况下,从表中删除一个元素需移动的元素个数是______。A、(n-1)/2                   B、n/2                         C、n(n-1)/2                  D、n(n+1)/2
评分规则: 【 答案:A

5、 问题:在一个表头指针为ph的单链表中,若要向表头插入一个由指针p指向的结点,则应执行(      )操作。A、ph=p; p->next=ph;                                            B、p->next=ph; ph=p;C、p->next=ph; p=ph;                                           D、p->next=ph->next; ph->next=p;
评分规则: 【 答案:D

6、 问题: 在一个带头结点的双向循环链表中,若要删除指针p所指向的结点则执行(   )操作。A、p->prior->next=p->next; p->next->prior=p->prior; free(p);B、p->next->prior=p; p->next=p->next->next;C、p->prior->next=p; p->next=p->next->prior;D、p=p->next; p->prior->next=p->prior;
评分规则: 【 答案:A

7、 问题:假设在长度大于1的循环单链表中,既无头结点也无头指针,p为指向该链表中某个结点的指针,编写一个算法删除该结点的前驱结点。
评分规则: 【 template<class T>
struct 
LinkNode 
{
    T data;
    
LinkNode 

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

   

发表回复

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