



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.算法分析练习题(一)一、选择题1、二分搜索算法是利用(A)实现的算法。A、分治策略B 、动态规划法C、贪心法D 、回溯法2、下列不是动态规划算法基本步骤的是(A)。A、找出最优解的性质B 、构造最优解C 、算出最优解D、定义最优解3下列算法中通常以自底向上的方式求解最优解的是(B)。A、备忘录法B、动态规划法C、贪心法D、回溯法4、衡量一个算法好坏的标准是(C )。A 运行速度快 B 占用空间少 C 时间复杂度低 D 代码短5、以下不可以使用分治法求解的是(D )。A 棋盘覆盖问题 B 选择问题 C 归并排序 D 0/1背包问题6.实现循环赛日程表利用的算法是(A)。A、分治策略B、动态规划
2、法C、贪心法D、回溯法7. 备忘录方法是那种算法的变形。 ( B )A、分治法B、动态规划法C、贪心法D、回溯法8最长公共子序列算法利用的算法是(B)。A、分支界限法B、动态规划法C、贪心法D、回溯法9实现棋盘覆盖算法利用的算法是(A)。A、分治法B、动态规划法C、贪心法D、回溯法10.矩阵连乘问题的算法可由(B)设计实现。A、分支界限算法B 、动态规划算法C 、贪心算法D、回溯算法11、Strassen 矩阵乘法是利用(A)实现的算法。A、分治策略B 、动态规划法C、贪心法D 、回溯法12、使用分治法求解不需要满足的条件是(A )。A 子问题必须是一样的B 子问题不能够重复;.C 子问题的解
3、可以合并D 原问题和子问题使用相同的方法解13、下列算法中不能解决 0/1 背包问题的是( A )A 贪心法 B 动态规划 C 回溯法 D 分支限界法14实现合并排序利用的算法是(A)。A、分治策略B、动态规划法C、贪心法D、回溯法15下列是动态规划算法基本要素的是(D)。A、定义最优解B、构造最优解C、算出最优解D、子问题重叠性质16下列算法中通常以自底向下的方式求解最优解的是 (B)。A、分治法B、动态规划法C、贪心法D、回溯法17、合并排序算法是利用(A)实现的算法。A、分治策略B 、动态规划法C、贪心法D 、回溯法18实现大整数的乘法是利用的算法(C)。A、贪心法B、动态规划法C、分治
4、策略D、回溯法19. 实现最大子段和利用的算法是(B)。A、分治策略B、动态规划法C、贪心法D、回溯法20. 一个问题可用动态规划算法或贪心算法求解的关键特征是问题的(B)。A、重叠子问题B、最优子结构性质C、贪心选择性质D、定义最优解21.实现最长公共子序列利用的算法是(B)。A、分治策略B、动态规划法C、贪心法D、回溯法二、填空题1. 算法的复杂性有时间复杂性和空间复杂性之分。2、程序是算法用某种程序设计语言的具体实现。3、算法的“确定性”指的是组成算法的每条指令是清晰的,无歧义的。4. 矩阵连乘问题的算法可由动态规划设计实现。5、算法是指解决问题的一种方法或 一个过程。;.6、从分治法的
5、一般设计模式可以看出,用它设计出的程序一般是递归算法。7、矩阵连乘问题的算法可由动态规划设计实现。8.动态规划算法的基本思想是将待求解问题分解成若干子问题,先求解子问题,然后从这些子问题的解得到原问题的解。9. 算法是由若干条指令组成的有穷序列,且要满足输入、输出、确定性和有限性四条性质。10、大整数乘积算法是用分治法来设计的。11.快速排序算法是基于分治策略的一种排序算法。12.动态规划算法的两个基本要素是 .性质和性质 。13.任何可用计算机求解的问题所需的时间都与其规模有关。14.快速排序算法的性能取决于 划分的对称性。15、出自于“平衡子问题”的思想,通常分治法在分割原问题,形成若干子
6、问题时,这些子问题的规模都大致相同。16、使用二分搜索算法在n 个有序元素表中搜索一个特定元素,在最佳情况下,搜索的时间复杂性为 O(),在最坏情况下,搜索的时间复杂性为O( logn)。17、已知一个分治算法耗费的计算时间T(n) ,T(n) 满足如下递归方程:T ( n )O (1)n22T (n / 2 ) O ( n ) n 2解得此递归方可得 T(n)= O (nlogn)。18、动态规划算法有一个变形方法备忘录方法。这种方法不同于动态规划算法“自底向上”的填充方向,而是“自顶向下”的递归方向,为每个解过的子问题建立了备忘录以备需要时查看,同样也可避免相同子问题的重复求解。19、 递
7、归的二分查找算法在divide 阶段所花的时间是O(1),conquer 阶段所花的时间是T(n/2),算法的时间复杂度是O( log n)。20、用动态规划算法计算矩阵连乘问题的最优值所花的时间是O(n3),子问题空间大小是O(n2)。21、一个算法的优劣可以用(时间复杂度)与(空间复杂度)与来衡量。22、直接或间接地调用自身的算法称为(递归算法)。23、记号在算法复杂性的表示法中表示(渐进确界或紧致界)。24、在分治法中,使子问题规模大致相等的做法是出自一种(平衡子问题)的思想。25、动态规划算法适用于解(具有某种最优性质)问题。;.26、最优子结构性质的含义是(问题的最优解包含其子问题的
8、最优解)。27、按照符号 O 的定义 O(f)+O(g) 等于 O(maxf(n),g(n)。28、二分搜索技术是运用(分治)策略的典型例子。29、动态规划算法中,通常不同子问题的个数随问题规模呈(多项式)级增长。30、(最优子结构性质)和(子问题重叠性质)是采用动态规划算法的两个基本要素。三、算法填空1. 最大子段和 : 动态规划算法int MaxSum(int n, int a)int sum=0, b=0 ; /sum 存储当前最大的 bj, b 存储 bj for(int j=1 ; j<=n ; j+) if ( b>0 )b+=aj;elseb=ai;/ 一旦某个区段和
9、为负,则从下一个位置累和if (b>sum)sum=b;return sum ;2. 快速排序template<class Type>void QuickSort (Type a, int p, int r)if (p<r) int q=Partition(a,p,r);QuickSort ( a, p , q-1 ); /对左半段排序QuickSort(a,q+1,r); / 对右半段排序四、简答题1、写出下列复杂性函数的偏序关系(即按照渐进阶从低到高排序):2n3nlog nn!n log nn2nn1032、将所给定序列a1:n 分为长度相等的两段a1:n/2和
10、an/2+1:n,分别求;.出这两段的最大子段和,则a1:n 的最大子段和有哪三种情形?3、请说明动态规划方法为什么需要最优子结构性质。最优子结构性质是指大问题的最优解包含子问题的最优解。 动态规划方法是自底向上计算各个子问题的最优解, 即先计算子问题的最优解, 然后再利用子问题的最优解构造大问题的最优解,因此需要最优子结构4、设计动态规划算法的主要步骤是怎么的?请简述。参考解答:(1)找出最优解的性质,并刻划其结构特征。(6分 )( 2)递归地定义最优值。(3)以自底向上的方式计算出最优值。( 4)根据计算最优值时得到的信息,构造最优解。5、分治法所能解决的问题一般具有哪几个特征?请简述。参
11、考解答: ( 1 )该问题的规模缩小到一定的程度就可以容易地解决;(6分 )( 2)该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质 ;( 3)利用该问题分解出的子问题的解可以合并为该问题的解;(4)原问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。6、算法的要特性是什么?参考解答:确定性、可实现性、输入、输出、有穷性7、 算法分析的目的是什么?参考解答:分析算法占用计算机资源的情况, 对算法做出比较和评价, 设计出额更好的算法。8、算法的时间复杂性与问题的什么因素相关?参考解答:算法的时间复杂性与问题的规模相关,是问题大小n 的函数。9、算法的渐进时
12、间复杂性的含义?参考解答:当问题的规模n 趋向无穷大时,影响算法效率的重要因素是T(n)的数量级,而其他因素仅是使时间复杂度相差常数倍,因此可以用T(n) 的数量级 ( 阶 ) 评价算法。时间复杂度T(n) 的数量级 ( 阶) 称为渐进时间复杂性。10 简述渐进时间复杂性上界的定义。参考解答: T(n) 是某算法的时间复杂性函数, f(n) 是一简单函数,存在正整数No和 C, n No,有 T(n)<f(n) ,这种关系记作 T(n)=O(f(n) 。;.11 快速排序算法最坏情况下需要多少次比较运算?参考解答:最坏情况下快速排序退化成冒泡排序,需要比较n2 次。12 阐述归并排序的分
13、治思路。参考解答:讲数组一分为二,分别对每个集合单独排序,然后将已排序的两个序列归并成一个含 n 个元素的分好类的序列。如果分割后子问题还很大,则继续分治,直到一个元素。13 快速排序的基本思想是什么。参考解答:快速排序的基本思想是在待排序的 N 个记录中任意取一个记录,把该记录放在最终位置后,数据序列被此记录分成两部分。所有关键字比该记录关键字小的放在前一部分,所有比它大的放置在后一部分,并把该记录排在这两部分的中间,这个过程称作一次快速排序。之后重复上述过程,直到每一部分内只有一个记录为止。14 分治法的基本思想是什么?将一个规模为N 的问题分解为K 个规模较小的子问题,这些子问题相互独立
14、且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。15 设计动态规划算法的主要步骤?参考解答:(1)找出最优解的性质,并刻划其结构特征。(6分 )( 2)递归地定义最优值。(3)以自底向上的方式计算出最优值。( 4)根据计算最优值时得到的信息,构造最优解。16 分治法与动态规划法的异同共同点:将待求解的问题分解成若干子问题,先求解子问题, 然后再从这些子问题的解得到原问题的解。不同点:1 、适合于用 动态规划法 求解的问题,分解得到的各子问题往往不是相互独立 的;而分治法中子问题相互独立 。2 、动态规划法 用表保存已求解过的子问题的解,
15、再次碰到同样的子问题时不必重新求解,而只需查询答案,故可获得多项式级时间复杂度,效率较高;而分治法中对于每次出现的子问题均求解,导致同样的子问题被反复求解,故产生 指数增长的时间复杂度,效率较低。17 分治法所能解决的问题一般具有的几个特征?参考解答: ( 1 )该问题的规模缩小到一定的程度就可以容易地解决;(6分 )( 2)该问题可以分解为若干个规模较小的相同问题,;.即该问题具有最优子结构性质 ;( 3)利用该问题分解出的子问题的解可以合并为该问题的解;(4)原问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。五、算法设计题1. 【最长上升子序列问题】 提示:此题可采用
16、动态规划算法实现对于给定的一个序列 (a1, a2 ,L ,aN ) , 1 N 1000 。我们可以得到一些递增上升的子序列 ( ai 1, ai 2,L , aiK ) ,这里 1 i1 i2 Li K N 。比如,对于序列 (1, 7,3, 5, 9, 4, 8),有它的一些上升子序列,如 (1,7), (3, 4, 8)等等。这些子序列中最长的长度是 4,比如子序列 (1, 3, 5, 8)。你的任务:就是对于给定的序列,求出最长上升子序列的长度。 要求写出你设计的算法思想及递推函数的公式表达。 .;.2. 【Gray 码构造问题】 提示:此题可采用分治递归算法实现问题描述: “格雷码
17、”是一个长度为2n 的序列,满足:(a)每个元素都是长度为n 比特的串(b)序列中无相同元素( c)连续的两个元素恰好只有 1 个比特不同例如: n=2 时,格雷码为 00 ,01,11, 10 。Gray 码是一种编码,这种编码可以避免在读取时,因各数据位时序上的差异造成的误读。 格雷码在工程上有广泛应用。 但格雷码不便于运算, 请你设计一种构造方法,输入长度序列 n,输出格雷码(你只要做出一种构造方案即可,格雷码并不唯一)。3. 现在有 8 位运动员要进行网球循环赛,要设计一个满足以下要求的比赛日程表:( 1) 每个选手必须与其他选手各赛一次;( 2) 每个选手一天只能赛一次;( 3) 循
18、环赛一共进行 n 1 天。请利用分治法的思想,给这 8 位运动员设计一个合理的比赛日程。4. 对于矩阵连乘所需最少数乘次数问题,其递归关系式为:;.m i, j 0ijmin m i, k mk 1, j pi 1 pk pj iji k j其中 mi , j 为计算矩阵连乘 AiAj 所需的最少数乘次数, pi-1 为矩阵 Ai 的行,pi 为矩阵 Ai 的列。现有四个矩阵,其中各矩阵维数分别为:AAAA12345010104040 3030 5p 0p 1p 1p 2p 2 p 3p 3 p 4请根据以上的递归关系,计算出矩阵连乘积A1 A2A3 A4 所需要的最少数乘次数。5. 有这样一类特殊 0-1 背包问题:可选物品 重量越轻的物品价值越高。n=6,c=20,P=( 4, 8, 15,1,6,3),W=( 5,3,2,10,4,8)。其中 n 为物品个数, c 为背包载重量, P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 配送在物流中的作用
- 中医护理学(第5版)课件 第九章针灸疗法与护理3十四经脉及其常用腧穴
- 交通运输行业智能交通与船舶导航方案
- 科技项目研究可行性研究报告
- 家庭智能家居控制系统的
- 股份制改革流程及关键文书编写指南
- 家庭园艺种植技术手册
- 项目申请书和可行性研究报告的关系
- 工厂项目可行性报告
- 企业人力资源管理师(三级)实操练习试题及答案
- 2025年安徽医学高等专科学校单招职业适应性测试题库及答案一套
- 2025年赣西科技职业学院单招职业技能测试题库带答案
- 急性ST段抬高型心肌梗死溶栓治疗专家共识2024解读
- 电影《哪吒之魔童降世》主题班会
- 2024年高中历史 第2课 中华文化的世界意义说课稿 部编版选择性必修3
- 2025年湖南科技职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年镇江市高等专科学校高职单招高职单招英语2016-2024年参考题库含答案解析
- 《病例随访汇报》课件
- 2025江苏省沿海开发集团限公司招聘23人高频重点提升(共500题)附带答案详解
- 2024年09月2024华夏金融租赁有限公司校园招聘笔试历年参考题库附带答案详解
- 锂电池技术研发生产合同
评论
0/150
提交评论