算法设计与分析(python版)-作业三
参考教材:算法设计与分析(Python版) 作者:王秋芬
1 . 普通 (5分)以下问题中,哪些问题的分治算法消耗的时间与输入序列无关.()
A. 二分查找
B. 合并排序
C. 快速排序
D. 最小值问题
2 . 普通 (5分)有关2个n位大整数乘法问题说法正确的是()。
A. 将两个n位大整数分解为4个规模大致相等的n/2位整数的整数乘法问题
B. 递归解决4个子问题
C. 子问题的解需要归并成原问题的解
D. 子问题的解本身就是原问题的解
3 . 容易 (5分)分治算法的步骤有()。
A. 分解
B. 治理
C. 递归
D. 合并
4 . 容易 (5分)分治算法的思想是()。
A. 将规模较大的问题划分为规模较小的相同子问题
B. 子问题之间相互独立
C. 子问题之间不相互独立
D. 递归解决划分得到的子问题 E、 将子问题的解归并得到原问题的解
5 . 容易 (5分)大整数A和B的乘法,将A分成位数大致相等的两部分A1和A2 ,将B分成位数大致相等的两部分B1和B2,以下描述正确的是()。
A. 子问题的解归并为原问题解的方法为:A×B=10nA1B1+10n/2(A1B2+A2B1)+A2B2
B. 子问题的解归并为原问题解的方法为:A×B=10nA1B1+10n/2((A1-A2)(B2-B1)+A1B1+A2B2)+A2B2
C. 子问题的解归并为原问题解的方法为:A×B=10nA1B1+10n/2((A1+A2)(B1+B2)-A1B1-A2B2)+A2B2
D. 以上方法都不对。
6 . 容易 (5分)关于快速排序分治算法时间复杂度描述正确的是()
A. 快速排序分治算法最好情况下的时间复杂度为O(nlogn).
B. 快速排序分治算法最坏情况下的时间复杂度为O(n 2).
C. 快速排序分治算法平均情况下的时间复杂度为O(n 2).
D. 二快速排序分治算法平均情况下的时间复杂度为O(nlogn).
7 . 容易 (5分)有关快速排序的分治算法描述正确的是()。
A. 快速排序A[left,right],选取基准元素的方法,将待排序元素分解为两个子问题。
B. 快速排序基准元素的选取可以是待排序元素中的任何一个元素。
C. 快速排序划分的两个子问题规模大致相等。
D. 快速排序A[left,right],递归算法的边界条件是left≥right
8 . 容易 (5分)关于二分查找时间复杂度描述正确的是()
A. 二分查找算法最好情况下的时间复杂度为O(1).
B. 二分查找算法最坏情况下的时间复杂度为O(n).
C. 二分查找算法最坏情况下的时间复杂度为O(logn).
D. 二分查找算法平均情况下的时间复杂度为O(logn).
9 . 容易 (5分)有关合并排序的分治算法描述正确的是()
A. 合并排序A[left,right]的元素,采用的分解方法是(left+right)/2。
B. 合并排序A[left,right]的元素,采用的分解方法是(right-left)/2。
C. 合并排序A[left,right]的元素,需要治理规模大致等于(right-left+1)/2的两个子问题。
D. 合并排序需要将两个有序的子序列归并成一个有序的子序列。
10 . 容易 (5分)有关循环赛日程表分治算法描述正确的是()
A. 循环赛日程表给定2 k个运动员,采用2 k/2的方法将运动员分成两组。
B. 循环赛日程表算法先安排组内的赛程,再安排两组对打。
C. 循环赛日程表算法的边界条件是两个运动员,一天的比赛。
D. 循环赛日程表算法为2 k个运动员安排了2 k-1天的比赛。
11 . 容易 (5分)下述关于二分查找(折半查找)算法描述正确的是()
A. 二分查找是在任意给定的n个元素序列中查找指定元素。
B. 二分查找的序列为A[left,right],分解操作为:(right-left)/2
C. 二分查找根据比较的结果,好的情况是相等,算法结束。坏的情况是进入其中一个子问题继续查找。
D. 若二分查找的序列为A[left,right],用递归来解决子问题,则边界条件是left>right。
12 . 容易 (5分)分治算法核心就是分而治之,其中的“治”描述正确的是()。
A. 分治法通过治理小问题来治理大问题。
B. 分治法递归治理小问题。
C. 分治法需要将子问题的解归并成大问题的解。
D. 治理子问题时,会有重复性治理子问题的现象。
13 . 容易 (5分)分治算法的基本思想描述正确的是()
A. 分治法将规模大的问题分解成规模较小的问题解决。
B. 分治法划分的小问题相互重叠。
C. 分治法一般采用递归的方法解决子问题。
D. 分治法划分的小问题规模小到一定程度时容易解决。
14 . 普通 (5分)根据下面斐波那契数列的递归算法,可知斐波那契数列的第n项的递归式为()。
def Fibonacci(int num):
if(num == 0 || num == 1):
return num
return Fibonacci(num-1)+Fibonacci(num - 2)
A. Fibonacci(n)=0 当n=0时
B. Fibonacci(n)=1 当n=1时
C. Fibonacci(n)=Fibonacci(n-1)+Fibonacci(n-2) 当n〉1时
D. Fibonacci(n)=Fibonacci(n-2)+Fibonacci(n-3) 当n〉1时
15 . 普通 (5分)下面代码为求n!的递归算法,该代码反应的n!问题递归实现的停止条件(边界条件)为()。
def fun(n):if (n == 1):return 1else :return fun(n - 1) * n
A. n!=1 当n=0时
B. n!=1 当n=1时
C. n!=1 当n〈1时
D. n!=1 当n〈=1时
16 . 普通 (5分)以下哪个问题的时间复杂度与输入序列有关()
A. 二分查找
B. 最小值问题
C. 合并排序
D. 以上都不对
17 . 普通 (5分)以下函数的功能是()
def Q(R, low,high):
if(low<high):#仅当区间长度大于1时才须排序
pivotpos=Partition(R,low,high) #划分后的基准元素所对应的位置
Q(R,low,pivotpos-1)#对左区间递归排序
Q(R,pivotpos+1,high)#对右区间递归排序
A. 二分查找
B. 二分求最值
C. 合并排序
D. 快速排序
18 . 普通 (5分)以下代码功能为合并排序,请根据注释按照数顺序选择合适的语句填入对应的括号。
def MergeSort(A, low, high):if (low < high):()#分解()# 递归序列左半部分()# 递归序列右半部分Merge(A, low, middle, high)# 子问题的解合并成原问题的解
A. middle=(high-low)/2; MergeSort(A,low,middle); MergeSort(A,middle+1,high);
B. middle=(low+high)/2; MergeSort(A,low,middle); MergeSort(A,middle+1,high);
C. middle=(low+high)/2; MergeSort(A,middle+1,high); MergeSort(A,low,middle);
D. middle=(high-low)/2; MergeSort(A,middle+1,high); MergeSort(A,low,middle);
19 . 容易 (5分)棋盘覆盖问题的分解方法为()。
A.
B.
C.
D. 以上分解的方法都不对
20 . 容易 (5分)合并排序的分治算法时间复杂度的是()
A. O(logn)
B. O(nlogn)
C.
D.
算法设计与分析(python版)-作业三相关推荐
- 算法设计与分析(python版)-作业一
参考教材:算法设计与分析(Python版) 作者:王秋芬 1 . 容易 (4分)2 n=O(100n ^2) 错误 2 . 容易 (3分)10=θ(log10) 正确 3 . 容易 ( ...
- C++算法设计与分析课后习题(第三章)
C++算法设计与分析课后习题[第三章] 前言 一.求2+22+222+2222+...+22...(n个2)...22(精确计算) 变量解释 运行截图 二.编写一个算法,其功能是给一维数组a输入任意6 ...
- 算法设计与分析第一章作业
1.请上网了解编码规范,说明你本学期的主要编码规范. 腾讯的编码规范: 1.C++:对于C++来说,在2007年,腾讯就发布了C++编码规范,主要针对其公司的所有软件产品源代码范围的C和C++编码风格 ...
- 算法设计与分析第二章作业
1. 2.时间复杂度: 划分子问题:O(1) 求解子问题:2T(2/n) 合并子问题:O(n) 时间复杂度为:T(n) = O(1) + 2T(2/n) + O(n) = O(nlogn) 3.心得与 ...
- 程振波 算法设计与分析_算法设计与分析
本书按照教育部*制定的计算机科学与技术专业规范的教学大纲编写,努力与国际计算机学科的教学要求接轨.强调 算法 与 数据结构 之间密不可分的联系,因而强调融数据类型与定义在该类型上的运算于一体的抽象数据 ...
- 计算机算法设计与分析读后感,算法设计与分析基础经典读后感有感
<算法设计与分析基础>是一本由Anany levitin著作,清华大学出版社出版的胶版纸图书,本书定价:49.00元,页数:409,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助 ...
- 太原理工大学linux与python编程r实验报告_太原理工大学算法设计与分析实验报告...
<太原理工大学算法设计与分析实验报告>由会员分享,可在线阅读,更多相关<太原理工大学算法设计与分析实验报告(12页珍藏版)>请在人人文库网上搜索. 1.本科实验报告课程名称: ...
- java实现 库鲁斯卡尔算法 kruskal(算法设计与分析作业)
java实现 库鲁斯卡尔算法kruskal(算法设计与分析作业) package package1;import java.util.Arrays;public class alg {//判断tar是 ...
- 计算机算法设计与分析(第4版) 王晓东 著 2012.2 笔记(这本书还不错,偏实用、有难度)
计算机算法设计与分析(第4版) 目录 1 算法概述 2 递归与分治策略 3 动态规划 4 贪心算法 5 回溯法 6 分支限界法 7 随机化算法 8 线性规划与网络流 算法概述 复杂性分析 NP-完全性 ...
最新文章
- javascript中json格式转为字符串
- skype for business server2015部署向导启动服务失败
- 解决BDOC structure里header和data structure里数据格式不一致的问题
- 怎么两边同时取ln_男生“两边铲光”发型out了?试试这4款吧,剪完清爽又帅气...
- 基于flask的网页聊天室(四)
- [Unity3d][NGUI]打包NGUI预制件成Assetbundle 两种思路.
- springMvc整合hibernate出现问题
- Zabbix server is not running:the information displayed may not be current
- L2-018 多项式A除以B (25分)
- Python帮助文档
- 串口通信接口标准(三)——RS232
- 64位java没有javaw.exe,2019-01-01 eclipse无法找到javaw.exe怎么处理
- 联想笔记本windows10,点击蓝牙显示无法连接
- 【经典算法题-2】费式数列(Fibonacci数列)
- 雷锋读图:如何通过社交媒体提高投资回报率
- android user-agent iso-8859-1,微信大众,平台消息接口开辟(31)微信浏览器HTTP_USER_AGENT断定...
- 大数据必学Java基础(一):Java体系结构、特性和优势
- Ajax的使用(详解)
- 开发技术-git修改用户名和邮箱地址
- PCB设计黄金法则永不改变