第一周算法概述及复杂性理论

单元测验1

1、单选题:
‏n个整数,采用选择排序算法进行排序的时间复杂度是:​
选项:
A: O()
B: O()
C: O()
D: O(n)
答案: 【 O()

2、单选题:
‌以下程序的时间复杂度为:‏‌void prime(int n)
{    int i=2;
     while((n%i)!=0&&i*0.1<=sqrt(n))
         i++;
     if(i*1.0>sqrt(n))
         printf("%d is a prime.n",n);
     else
         printf("%d is not a prime.n",n);
}‏
选项:
A: O(n)
B: O()
C: O(n/2)
D: O()
答案: 【 O()

3、判断题:

具有相同的增长速度

‎选项:
A: 正确
B: 错误
答案: 【 错误

4、填空题:
​衡量、比较算法优劣的主要指标有:空间复杂度和‌
答案: 【 时间复杂度

第二周算法分析方法

单元测验2

1、单选题:
‎通过概率分析方法可以分析一个算法:‎
选项:
A: 在最好情况下的运行时间
B: 在最坏情况下的运行时间
C: 所有实例的情况下的平均运行时间
D: 以上说法都不对
答案: 【 以上说法都不对

2、单选题:
‏势能方法的思想是:将预先支付的代价视为潜在能量(势能),能够为__________的操作支付能量。‍
选项:
A: 过去的
B: 未来的
C: 现在的
D: 以上所有的
答案: 【 未来的

3、多选题:
​算法的分析方法有:概率分析、____________、____________、____________、____________。‎
选项:
A: 合计方法
B: 记账方法
C: 势能方法
D: 实验分析
答案: 【 合计方法;
记账方法;
势能方法;
实验分析

4、判断题:
‏算法分析中的合计方法需要考虑各种案例出现的概率。‍
选项:
A: 正确
B: 错误
答案: 【 错误

5、判断题:
​解决一个问题,“实际花费的时间之和”要小于等于“分摊分析的时间之和”。‎
选项:
A: 正确
B: 错误
答案: 【 正确

6、判断题:
‎为了不同的操作分配不同的费用,其中某些操作的费用高于或低于实际费用。对一项业务收取的额外费用称为“摊余代价”‏
选项:
A: 正确
B: 错误
答案: 【 正确

7、判断题:
‎使用相同的测试集,如果A算法得到结果的速度比B算法快,说明A算法优于B算法。‌
选项:
A: 正确
B: 错误
答案: 【 错误

第三周递归

单元测验3

1、单选题:
‏对于时间复杂度公式为:  T(n)=aT(n/b)+f(n)  的递归算法。(其中n为问题规模,可以被划分为a个规模为n/b的子问题,解决每个子问题所需时间为T(n/b),划分原问题和合并子问题的解所需要的的时间由f(n)决定)。则该算法的时间复杂度T(n)=‏
选项:
A:
B:
C:
D: 以上答案都有可能
答案: 【 以上答案都有可能

2、填空题:
‏(注意:本题要在英文输入法下回答,直接英文就输入,不要用公式输入格式。)‍‏对于时间复杂度公式为:  T(n)=3T(n/3)+n  的递归算法。 其时间复杂度为:‍
答案: 【 nlg(n)##%_YZPRLFH_%##n lg(n)##%_YZPRLFH_%##nlgn##%_YZPRLFH_%##n lgn##%_YZPRLFH_%##n lg n

第四周分治上

单元测验4

1、单选题:
‌快速排序的平均时间复杂度为:‏
选项:
A:

剩余75%内容付费后可查看

发表评论

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