2020 算法设计与分析(南京林业大学) 最新满分章节测试答案
本答案对应课程为:点我自动跳转查看
本课程起止时间为:2020-04-17到2020-06-30
本篇答案更新状态:已完结
第一周 基础知识(1):算法的基本概念及伪码描述,函数的渐近的界 作业测验
1、 问题:考虑下述选择排序算法: 最坏情况下该算法做
最坏情况下该算法做 次交换运算,这种情况在下列哪种输入条件下发生?
次交换运算,这种情况在下列哪种输入条件下发生?
选项:
A:数列元素各不相等且递增有序
B:数列元素各不相等且递减有序
C:数列元素各不相等且无序
D:数列所有元素均相等
E:数列中有相同元素且递增(不减)有序
F:数列中有相同元素且递增(不减)有序
答案: 【数列元素各不相等且递减有序】
2、 问题: 上述算法所执行的加法次数是:
上述算法所执行的加法次数是:
选项:
A:
B:
C:
D:
E:
F:
答案: 【 】
】
3、 问题:已知 是含有
是含有 个元素并且从小到大排好序的数组,
个元素并且从小到大排好序的数组, 在
在 中。如果
中。如果 出现在
出现在 中第
中第 个
个 位置的概率是在前一个位置概率的一半,当
位置的概率是在前一个位置概率的一半,当 充分大时,下述查找算法平均情况下的时间复杂度
充分大时,下述查找算法平均情况下的时间复杂度 (   )。(只需给出近似值)
(   )。(只需给出近似值)
选项:
A:2
B:3
C:4
D:1
E:
F:
G:
答案: 【2】
4、 问题:下列哪个排序算法在最坏情况下的时间复杂度最低?
选项:
A:插入排序
B:堆排序
C:冒泡排序
D:快速排序
答案: 【堆排序】
5、 问题:下列有关阶乘函数的表述错误的是?
选项:
A:
B:
C:
D:
E:
答案: 【 】
】
6、 问题: 与
与 之间的渐近关系是?
之间的渐近关系是?
选项:
A:
B:
C:
D:无法确定
答案: 【无法确定】
7、 问题:以下关于函数阶的关系中,哪几项是正确的?
选项:
A:
B:
C:
D:
E:
F:
答案: 【 ;
;
 ;
;
 ;
;
 】
】
8、 问题:下表给出 组
组 和
和 函数,
函数, 使得
使得 成立的组号(从小到大排列)是:(请直接填写数字序号,例如顺序为
成立的组号(从小到大排列)是:(请直接填写数字序号,例如顺序为 ,则填写”
,则填写” “)
“)
答案: 【24】
9、 问题:下表给出 组
组 和
和 函数,
函数, 使得
使得 成立的组号(从小到大排列)是:(请直接填写数字序号,例如顺序为
成立的组号(从小到大排列)是:(请直接填写数字序号,例如顺序为 ,则填写”
,则填写” “)
“)
答案: 【1235】
10、 问题:下表给出 组
组 和
和 函数,
函数, 使得
使得 成立的组号(从小到大排列)是:(请直接填写数字序号,例如顺序为
成立的组号(从小到大排列)是:(请直接填写数字序号,例如顺序为 ,则填写”
,则填写” “)
“)
答案: 【2】
第二周 基础知识(2):序列求和方法,递推方程求解 作业测验
1、 问题:递归方程 的解的精确值是:
的解的精确值是:
选项:
A:
B:
C:
D:
E:
F:
答案: 【 】
】
2、 问题: ,
, 的阶是:
的阶是:
选项:
A:
B:
C:
D:
E:
F:
答案: 【 】
】
3、 问题:请用主定理确定递归式 的渐近的界:
的渐近的界:
选项:
A:
B:
C:

D:
E:
答案: 【 】
】
4、 问题:给定 个数的数组
个数的数组 ,其中
,其中 ,
, 为非负整数,求
为非负整数,求 中的最大数. 考虑下述算法A,先把数组从中间划分成两个
中的最大数. 考虑下述算法A,先把数组从中间划分成两个 个数的数组
个数的数组 和
和 ,在
,在 和
和 中用同样的算法通过数之间的比较运算找最大数,如果
中用同样的算法通过数之间的比较运算找最大数,如果 的最大数是
的最大数是 ,
, 的最大数是
的最大数是 ,那么
,那么 就是问题的解。假设对于
就是问题的解。假设对于 个数的数组
个数的数组 ,在最坏情况下算法A的比较次数是
,在最坏情况下算法A的比较次数是 ,该算法在最坏情况下
,该算法在最坏情况下 的递推方程是:
的递推方程是:
选项:
A:
B:
C:
D:
E:
F:
答案: 【 】
】
5、 问题:给定 个数的数组
个数的数组 ,其中
,其中 ,
, 为非负整数,求
为非负整数,求 中的最大数. 考虑下述算法A,先把数组从中间划分成两个
中的最大数. 考虑下述算法A,先把数组从中间划分成两个 个数的数组
个数的数组 和
和 ,在
,在 和
和 中用同样的算法通过数之间的比较运算找最大数,如果
中用同样的算法通过数之间的比较运算找最大数,如果 的最大数是
的最大数是 ,
, 的最大数是
的最大数是 ,那么
,那么 就是问题的解。假设对于
就是问题的解。假设对于 个数的数组
个数的数组 ,在最坏情况下算法A的比较次数是
,在最坏情况下算法A的比较次数是 ,则
,则 的精确值是?
的精确值是?
选项:
A:
B:
C:
D:
E:
F:
答案: 【 】
】
6、 问题:把插入排序算法加以改进,可以得到二分插入排序算法。设输入数组是 ,插入排序算法的基本操作是:假定
,插入排序算法的基本操作是:假定 的前
的前 个数已经排好,将
个数已经排好,将 插入。插入时从
插入。插入时从 开始,顺序检查
开始,顺序检查 ,直到找到插入
,直到找到插入 的合适的位置,将它插入。改进插入排序算法的步骤是:插入
的合适的位置,将它插入。改进插入排序算法的步骤是:插入 的操作不是在
的操作不是在 中从后向前顺序检索,而是采用二分检索方法找到
中从后向前顺序检索,而是采用二分检索方法找到 插入的正确位置。如果输入规模是
插入的正确位置。如果输入规模是 ,该算法在最坏情况下的比较次数是
,该算法在最坏情况下的比较次数是 ,那么该算法在最坏情况下
,那么该算法在最坏情况下 的递推方程是
的递推方程是
选项:
A:
B:
C:
D:
E:
答案: 【 】
】
7、 问题:把插入排序算法加以改进,可以得到二分插入排序算法。设输入数组是 ,插入排序算法的基本操作是:假定
,插入排序算法的基本操作是:假定 的前
的前 个数已经排好,将
个数已经排好,将 插入。插入时从
插入。插入时从 开始,顺序检查
开始,顺序检查 ,直到找到插入
,直到找到插入 的合适的位置,将它插入。改进插入排序算法的步骤是:插入
的合适的位置,将它插入。改进插入排序算法的步骤是:插入 的操作不是在
的操作不是在 中从后向前顺序检索,而是采用二分检索方法找到
中从后向前顺序检索,而是采用二分检索方法找到 插入的正确位置。如果输入规模是
插入的正确位置。如果输入规模是 ,该算法在最坏情况下的比较次数是
,该算法在最坏情况下的比较次数是 ,那么该算法在最坏情况下
,那么该算法在最坏情况下 的递推方程的解是?
的递推方程的解是?
选项:
A:
B:
C:
D:
E:
F:
答案: 【 】
】
8、 问题:设递推方程 给出了算法A在最坏情况下的时间复杂度函数,算法B在最坏情况下的时间复杂度函数
给出了算法A在最坏情况下的时间复杂度函数,算法B在最坏情况下的时间复杂度函数 满足递推方程
满足递推方程 ,那么要使算法B比算法A具有更高的效率,即时间复杂度
,那么要使算法B比算法A具有更高的效率,即时间复杂度 的阶低于
的阶低于 的阶的最大正整数
的阶的最大正整数 的值为:
的值为:
答案: 【48】
9、 问题:给定 个数的数组
个数的数组 ,其中
,其中 ,
, 为非负整数,求
为非负整数,求 中的最大数. 考虑下述算法A,先把数组从中间划分成两个
中的最大数. 考虑下述算法A,先把数组从中间划分成两个 个数的数组
个数的数组 和
和 ,在
,在 和
和 中用同样的算法通过数之间的比较运算找最大数,如果
中用同样的算法通过数之间的比较运算找最大数,如果 的最大数是
的最大数是 ,
, 的最大数是
的最大数是 ,那么
,那么 就是问题的解。假设对于
就是问题的解。假设对于 个数的数组
个数的数组 ,在最坏情况下算法A的比较次数是
,在最坏情况下算法A的比较次数是 ,则
,则 的初值
的初值 是(     )?
是(     )?
答案: 【0】
10、 问题:把插入排序算法加以改进,可以得到二分插入排序算法。设输入数组是 ,插入排序算法的基本操作是:假定
,插入排序算法的基本操作是:假定 的前
的前 个数已经排好,将
个数已经排好,将 插入。插入时从
插入。插入时从 开始,顺序检查
开始,顺序检查 ,直到找到插入
,直到找到插入 的合适的位置,将它插入。改进插入排序算法的步骤是:插入
的合适的位置,将它插入。改进插入排序算法的步骤是:插入 的操作不是在
的操作不是在 中从后向前顺序检索,而是采用二分检索方法找到
中从后向前顺序检索,而是采用二分检索方法找到 插入的正确位置。如果输入规模是
插入的正确位置。如果输入规模是 ,该算法在最坏情况下的比较次数是
,该算法在最坏情况下的比较次数是 ,那么该算法在最坏情况下
,那么该算法在最坏情况下 的递推方程的初值
的递推方程的初值 是(     )?
是(     )?
答案: 【0】
第三周 分治策略(1) 作业测验
1、 问题:双Hanoi塔问题是Hanoi塔问题的一种推广,与Hanoi塔的不同点在于:2n个圆盘,分成大小不同的n对,每对圆盘完全相同。初始,这些圆盘按照从大到小的次序从下到上放在A柱上,最终要把它们全部移到C柱,移动的规则与Hanoi塔相同。BiHanoi(A, C, n)的功能是从A移动2n个盘子到C,其中BiMove(A, C)表示从A移动两个盘子到C。下列哪一段代码是利用分治策略给出的正确的移动策略:
选项:
A:
B:
C:
D:
答案: 【 】
】
2、 问题:给定n个不同数的数组S和正整数i, ,求S中最大的i个数,并且按照从大到小的次序输出,现有如下算法,算法:调用i次找最大算法Findmax,每次从S中删除一个最大的数。该算法在最坏情况下的时间复杂度是:
,求S中最大的i个数,并且按照从大到小的次序输出,现有如下算法,算法:调用i次找最大算法Findmax,每次从S中删除一个最大的数。该算法在最坏情况下的时间复杂度是:
选项:
A:
B:
C:
D:
E:
答案: 【 】
】
3、 问题:给定n个不同数的数组S和正整数i, ,求S中最大的i个数,并且按照从大到小的次序输出,现有如下算法,算法:对S排序,并输出S中最大的i个数。该算法在最坏情况下的时间复杂度是:
,求S中最大的i个数,并且按照从大到小的次序输出,现有如下算法,算法:对S排序,并输出S中最大的i个数。该算法在最坏情况下的时间复杂度是:
选项:
A:
B:
C:
D:
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦
 

