算法期末复习题

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

一、选择题

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日
    浏览(38)
  • 算法设计与分析期末复习题(史上最详细)

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

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

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

    2024年01月16日
    浏览(58)
  • Python期末复习题

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

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

    选择题 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日
    浏览(54)
  • 软件工程-期末复习题

    第1章软件工程概述 1、软件的概念及特点 概念: 计算机软件是由专业人员开发并长期维护的软件产品。完整的软件产品包括了在各种不同容量和体系结构计算机上的可执行的程序,运行过程中产生的各种结果,以及以硬复制和电子表格等多种方式存在的软件文档 特点: 1)

    2024年02月13日
    浏览(50)
  • 操作系统期末复习题

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

    2024年02月11日
    浏览(68)
  • 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日
    浏览(45)
  • python二级和期末复习题

    2023年04月12日
    浏览(76)
  • 【期末复习】2021-20222南邮网络安全技术复习题

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

    2024年02月09日
    浏览(66)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包