参考教材:算法设计与分析(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版)-作业三相关推荐

  1. 算法设计与分析(python版)-作业一

    参考教材:算法设计与分析(Python版)         作者:王秋芬 1 . 容易 (4分)2 n=O(100n ^2) 错误 2 . 容易 (3分)10=θ(log10) 正确 3 . 容易 ( ...

  2. C++算法设计与分析课后习题(第三章)

    C++算法设计与分析课后习题[第三章] 前言 一.求2+22+222+2222+...+22...(n个2)...22(精确计算) 变量解释 运行截图 二.编写一个算法,其功能是给一维数组a输入任意6 ...

  3. 算法设计与分析第一章作业

    1.请上网了解编码规范,说明你本学期的主要编码规范. 腾讯的编码规范: 1.C++:对于C++来说,在2007年,腾讯就发布了C++编码规范,主要针对其公司的所有软件产品源代码范围的C和C++编码风格 ...

  4. 算法设计与分析第二章作业

    1. 2.时间复杂度: 划分子问题:O(1) 求解子问题:2T(2/n) 合并子问题:O(n) 时间复杂度为:T(n) = O(1) + 2T(2/n) + O(n) = O(nlogn) 3.心得与 ...

  5. 程振波 算法设计与分析_算法设计与分析

    本书按照教育部*制定的计算机科学与技术专业规范的教学大纲编写,努力与国际计算机学科的教学要求接轨.强调 算法 与 数据结构 之间密不可分的联系,因而强调融数据类型与定义在该类型上的运算于一体的抽象数据 ...

  6. 计算机算法设计与分析读后感,算法设计与分析基础经典读后感有感

    <算法设计与分析基础>是一本由Anany levitin著作,清华大学出版社出版的胶版纸图书,本书定价:49.00元,页数:409,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助 ...

  7. 太原理工大学linux与python编程r实验报告_太原理工大学算法设计与分析实验报告...

    <太原理工大学算法设计与分析实验报告>由会员分享,可在线阅读,更多相关<太原理工大学算法设计与分析实验报告(12页珍藏版)>请在人人文库网上搜索. 1.本科实验报告课程名称: ...

  8. java实现 库鲁斯卡尔算法 kruskal(算法设计与分析作业)

    java实现 库鲁斯卡尔算法kruskal(算法设计与分析作业) package package1;import java.util.Arrays;public class alg {//判断tar是 ...

  9. 计算机算法设计与分析(第4版) 王晓东 著 2012.2 笔记(这本书还不错,偏实用、有难度)

    计算机算法设计与分析(第4版) 目录 1 算法概述 2 递归与分治策略 3 动态规划 4 贪心算法 5 回溯法 6 分支限界法 7 随机化算法 8 线性规划与网络流 算法概述 复杂性分析 NP-完全性 ...

最新文章

  1. javascript中json格式转为字符串
  2. skype for business server2015部署向导启动服务失败
  3. 解决BDOC structure里header和data structure里数据格式不一致的问题
  4. 怎么两边同时取ln_男生“两边铲光”发型out了?试试这4款吧,剪完清爽又帅气...
  5. 基于flask的网页聊天室(四)
  6. [Unity3d][NGUI]打包NGUI预制件成Assetbundle 两种思路.
  7. springMvc整合hibernate出现问题
  8. Zabbix server is not running:the information displayed may not be current
  9. L2-018 多项式A除以B (25分)
  10. Python帮助文档
  11. 串口通信接口标准(三)——RS232
  12. 64位java没有javaw.exe,2019-01-01 eclipse无法找到javaw.exe怎么处理
  13. 联想笔记本windows10,点击蓝牙显示无法连接
  14. 【经典算法题-2】费式数列(Fibonacci数列)
  15. 雷锋读图:如何通过社交媒体提高投资回报率
  16. android user-agent iso-8859-1,微信大众,平台消息接口开辟(31)微信浏览器HTTP_USER_AGENT断定...
  17. 大数据必学Java基础(一):Java体系结构、特性和优势
  18. Ajax的使用(详解)
  19. 开发技术-git修改用户名和邮箱地址
  20. PCB设计黄金法则永不改变

热门文章

  1. 论文阅读--Adapted Dynamic Memory Network for Emotion Recognition in Conversation
  2. 后台管理系统登录思路
  3. 部分特定领域的信息化检测管理要求和获认可机构目录
  4. 移动端APP闪退的主要原因总结
  5. Linux 命令————打包解压之tar
  6. [Python]将一个字典(dict)用npy存储并读取
  7. shell——正则表达式
  8. AutoML-第七章-AutoNet
  9. java中使用Jedis操作Redis实例
  10. JSP四大作用域,九大内置对象