算法期末复习题

这篇具有很好参考价值的文章主要介绍了算法期末复习题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、选择题

1、二分搜索算法是利用(   A      )实现的算法。

A、分治策略   B、动态规划法   C、贪心法    D、回溯法

2、下列不是动态规划算法基本步骤的是(  A    )。

A、找出最优解的性质   B、构造最优解   C、算出最优解   D、定义最优解

3、衡量一个算法好坏的标准是( D  )。
A 运行速度快 B 占用空间少 C 时间复杂度低     D  B和C
4.实现棋盘覆盖算法利用的算法是(   
     )。

A、分治法         B、动态规划法     C、贪心法                D、回溯法

5.下面是贪心算法的基本要素的是(         )。

A、重叠子问题     B、构造最优解     C、贪心选择性质       D、定义最优解

6. (       D    )是贪心算法与动态规划算法的共同点。

A、重叠子问题 B、构造最优解 C、贪心选择性质      D、最优子结构性质

7. 矩阵连乘问题的算法可由(        )设计实现。

A、分支界限算法      B、动态规划算法    C、贪心算法    D、回溯算法

8、使用分治法求解不需要满足的条件是(A  )。
A 子问题必须是一样的   B 子问题不能够重复
C 子问题的解可以合并   D 原问题和子问题使用相同的方法解
9.下列是动态规划算法基本要素的是( 
  )。

A、定义最优解        B、构造最优解        C、算出最优解     D、子问题重叠性质

10.下列算法中通常以自底向下的方式求解最优解的是(   B    )。

A、分治法            B、动态规划法        C、贪心法         D、回溯法

11.贪心算法与动态规划算法的主要区别是(       B     )。

A、最优子结构        B、贪心选择性质      C、构造最优解     D、定义最优解

12. 一个问题可用动态规划算法或贪心算法求解的关键特征是问题的(     B      )。

A、重叠子问题     B、最优子结构性质    C、贪心选择性质    D、定义最优解

二、 填空题

1.算法的复杂性有      时间          复杂性和    空间         复杂性之分。

2、程序是    算法     用某种程序设计语言的具体实现。

3、算法的“确定性”指的是组成算法的每条  指令  是清晰的,无歧义的。

4.矩阵连乘问题的算法可由  动态规划  设计实现。

5、算法是指解决问题的   一种方法    一个过程  。

6从分治法的一般设计模式可以看出,用它设计出的程序一般使用  递归  机制 。

7、计算一个算法时间复杂度通常可以计算  循环次数 、  基本操作的频率    或计算步。

8、动态规划算法的基本思想是将待求解问题分解成若干    子问题        ,先求解  子问题       ,然后从这些  子问题        的解得到原问题的解。

9.算法是由若干条指令组成的有穷序列,且要满足输入、   输出           、确定性和      有限性       四条性质。

10.任何可用计算机求解的问题所需的时间都与其   规模   有关。

11. 写出下列f(n)的渐进性态:

1) f(n)=C,为常数:f(n)= O( 1 )      2) f(n)= 3n+2:f(n)= O( n )

3) f(n)= 6×2n+n:f(n)= O(  2n  )。     4) f(n)= nlog n:f(n)= O( nlog n )

12. 按照渐近阶从低到高的顺序排列以下表达式:4n2,logn,3n,20n,2,n2/3。又n!应该排在哪一位?

2lognn2/320n4n23nn!。

三、时间复杂度分析(写出分析过程)

1.汉诺塔问题的时间复杂度。

解:

汉诺塔问题的时间复杂性是完成n个圆盘移动所移动的次数。设移动总次数为T(),由于原问题分成了三个子问题:两个移动n-1个圆盘的问题和一个移动一个圆盘的过程。两个移动n-1个圆盘的问题采用递归调用,花时间T(-1),移动一个圆盘花一个单位时间。所以的递归方程如下:

算法期末复习题      

 

直接推导可得

    算法期末复习题

 

2. 冒泡排序算法的基本运算如下:

   for i ←1 to n-1 do

for j ←1 to n-i do

if a[j]<a[j+1] then

       交换a[j]、a[j+1];

分析该算法的时间复杂性。

解:排序算法的基本运算步为元素比较,冒泡排序算法的时间复杂性就是求比较次数与n的关系。

  1. 设比较一次花时间1
  2. 内循环次数为:n-i次,(i=1,…n),花时间为:算法期末复习题
  3. 外循环次数为:n-1,花时间为:算法期末复习题

 

 

3. 递归求取最大和最小元素算法 MAXMIN的时间复杂性。

解:

设算法的元素比较次数为T(n),mid将数组分成大小为算法期末复习题的两部分,递归调用原过程分别在两部分找max1、min1max2、min2,分别花时间为算法期末复习题,比较max1、max2min1min2找出maxmin所花时间为2。因此递归方程为:

 

 

算法期末复习题

 

n2的幂时,即对于某个正整数k,n=2k,有算法期末复习题

 

    T(n)=2T(n/2)+2

  2(2T(n/4)+2)+2

   =4T(n/4)+4+2

……

    算法期末复习题  

 

    2k-1+2k-2

    3n/2-2

四、算法设计  

1.有9件产品,其中一个不合格,不合格的产品比合格产品轻,现有一个天平,请设计算法用最少比较次数找到不合格产品。

答:本题使用分治法。算法设计步骤如下:

(1)将9件产品分成3组,每组3件产品。

(2)用天平称量其中任意两组,有两种情况:
第一种情况是天平上其中一组重量轻,则重量轻的一组产品转步骤(3);
第二种情况是天平上的两组重量相等,则剩下的第三组转步骤(3)。

(3)将步骤(2)转来这组的3件产品,分开成3组,每组一件产品,用天平称量其中任意两件产品,有两种情况:

第一种:天平中有一件产品轻,则这件产品为不合格产品,算法结束。

第二种:天平中两件产品重量相等,则第三件产品为不合格产品,算法结束。

使用这样的分治法,可以在两次称量后得出结论,用的比较次数最少。

评分标准:设计出算法给5分,算法时间效率好给5分。文章来源地址https://www.toymoban.com/news/detail-509856.html

到了这里,关于算法期末复习题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 算法设计与分析期末复习题

    1.应用Johnson法则的流水作业调度采用的算法是(D) A. 贪心算法 B. 分支限界法 C.分治法 D. 动态规划算法 2.Hanoi塔问题如下图所示。现要求将塔座A上的的所有圆盘移到塔座B上,并仍按同样顺序叠置。移动圆盘时遵守Hanoi塔问题的移动规则。由此设计出解Hanoi塔问题的递归算法正

    2024年02月09日
    浏览(28)
  • 算法设计与分析期末复习题(史上最详细)

    算法设计与分析期末复习题(一) 1、二分搜索算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 2、下列不是动态规划算法基本步骤的是( A )。 A、找出最优解的性质 B、构造最优解 C、算出最优解 D、定义最优解 3、最大效益优先是( A )的一

    2023年04月09日
    浏览(34)
  • Python期末复习题

    一 回文数判断。设n是一任意自然数,如果n的各位数字反向排列所得自然数与n相等,则n被称为回文数。从键盘输入一个数字,请编写程序判断这个数字是不是回文数,若是返回True,否则返回False。 【输入示例】12321 【输出示例】True 二 素数判断。编写一个函数isPrime(x),接受

    2024年02月08日
    浏览(32)
  • 专业英语期末复习题

    选择题 15*0.5 中英文词汇互译15*0.5 缩略语10*2 完形填空10*1 选词填空20**1 阅读理解10*1 句子和短文翻译6题=25分 【单选题】( )is a functional unit that interprets and carries out instructions. A、memory B、processor C、storage D、network 【单选题】( ) consists of the symbols, characters, and usage rules tha

    2023年04月21日
    浏览(26)
  • 【Oracle】期末复习题

    目录 一. 单选题(共164 题) 二. 多选题(共14 题) 三. 填空题(共4 题) 四. 分析题(共五题) 一)考生子系统 三)考试存储方案 四)铁路12306 五)顺丰快递 1.   快速恢复区是为保存归档日志、备份、闪回日志等内容在磁盘上专门留出的空间。一般情况下,建议快速恢复

    2024年01月16日
    浏览(29)
  • 操作系统期末复习题

    一、简答 1. 什么是进程?它与程序相比有哪些特性? 进程是进程实体的运行过程,是系统进行资源分配和调度的基本单位。 动态性、独立性、并发性 2. 什么是进程?进程静态实体的组成是什么? 程序、数据集合、进程控制块PCB 3. 进程的三种基本状态是什么?画出进程的三

    2024年02月11日
    浏览(43)
  • python二级和期末复习题

    2023年04月12日
    浏览(53)
  • ssm开源框架期末复习题

    01-05:C D C D A 06-10:D B B C B 11-15:C D D C D 16-19:C D B D 20.拦截器 21.时间 22. ORM 23.《Mapper》 24.动态SQL 25.依赖注入 26.构造器注入,Setter注入,接口注入 27.singleton, prototype 28.基于XML装配Bean , 基于注解装配Bean , 基于组件扫描注解装配Bean 29.解耦 30.@Controller , @RequestMapping 31.控制器

    2024年02月05日
    浏览(26)
  • 【期末复习】2021-20222南邮网络安全技术复习题

    1. 计算机安全的核心内容:机密性,完整性,可用性(选择判断) 其中 机密性 又包含数据机密性和 隐私性 隐私性 :保证个人可以控制和影响与之相关的信息,这些信息有可能被收集、存储、和泄露 2. 拒绝服务 可以阻止或禁止对通信设备的正常使用或管理。(选择) 3.

    2024年02月09日
    浏览(39)
  • 【数据结构】——期末复习题题库(4)

    🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL:数据结构_IT闫的博客-CSDN博客 🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客 💎C++:C++_IT闫的博客-CSDN博

    2024年02月02日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包