资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
算法分析练习题(一)一、选择题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、动态规划法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 子问题的解可以合并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、分治策略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、从分治法的一般设计模式可以看出,用它设计出的程序一般是 递归算法 。7、矩阵连乘问题的算法可由 动态规划 设计实现。8. 动态规划算法的基本思想是将待求解问题分解成若干 子问题 ,先求解 子问题 ,然后从这些 子问题 的解得到原问题的解。9.算法是由若干条指令组成的有穷序列,且要满足输入、 输出 、确定性和 有限性 四条性质。10、大整数乘积算法是用 分治法 来设计的。11.快速排序算法是基于 分治策略 的一种排序算法。12.动态规划算法的两个基本要素是. 性质和 性质 。13.任何可用计算机求解的问题所需的时间都与其 规模 有关。14.快速排序算法的性能取决于 划分的对称性 。15、出自于“平衡子问题”的思想,通常分治法在分割原问题,形成若干子问题时,这些子问题的规模都大致 相同 。16、使用二分搜索算法在n个有序元素表中搜索一个特定元素,在最佳情况下,搜索的时间复杂性为O(),在最坏情况下,搜索的时间复杂性为O( logn )。17、已知一个分治算法耗费的计算时间T(n),T(n)满足如下递归方程:解得此递归方可得T(n)= O( nlogn )。18、动态规划算法有一个变形方法 备忘录方法 。这种方法不同于动态规划算法“自底向上”的填充方向,而是“自顶向下”的递归方向,为每个解过的子问题建立了备忘录以备需要时查看,同样也可避免相同子问题的重复求解。19、递归的二分查找算法在divide阶段所花的时间是 O(1) ,conquer阶段所花的时间是 T(n/2) ,算法的时间复杂度是 O(logn) 。 20、用动态规划算法计算矩阵连乘问题的最优值所花的时间是 O(n3) , 子问题空间大小是 O(n2) 。21、一个算法的优劣可以用(时间复杂度)与(空间复杂度)与来衡量。22、直接或间接地调用自身的算法称为(递归算法)。23、q 记号在算法复杂性的表示法中表示(渐进确界或紧致界)。24、在分治法中,使子问题规模大致相等的做法是出自一种(平衡子问题)的思想。25、动态规划算法适用于解(具有某种最优性质)问题。26、最优子结构性质的含义是(问题的最优解包含其子问题的最优解)。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; j0) b+=aj ; else b=ai ; /一旦某个区段和为负,则从下一个位置累和 if (bsum) sum=b ; return sum; 2.快速排序templatevoid QuickSort (Type a, int p, int r) if (pr) int q=Partition(a,p,r); QuickSort(a,p,q-1) ; /对左半段排序 QuickSort(a,q+1,r) ; /对右半段排序 四、简答题1、写出下列复杂性函数的偏序关系(即按照渐进阶从低到高排序):2、将所给定序列a1:n分为长度相等的两段a1:n/2和an/2+1:n,分别求出这两段的最大子段和,则a1:n的最大子段和有哪三种情形?3、请说明动态规划方法为什么需要最优子结构性质。最优子结构性质是指大问题的最优解包含子问题的最优解。动态规划方法是自底向上计算各个子问题的最优解,即先计算子问题的最优解,然后再利用子问题的最优解构造大问题的最优解,因此需要最优子结构4、设计动态规划算法的主要步骤是怎么的?请简述。参考解答:(1)找出最优解的性质,并刻划其结构特征。(6分)(2)递归地定义最优值。(3)以自底向上的方式计算出最优值。(4)根据计算最优值时得到的信息,构造最优解。5、分治法所能解决的问题一般具有哪几个特征?请简述。参考解答:(1)该问题的规模缩小到一定的程度就可以容易地解决;(6分)(2)该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质;(3)利用该问题分解出的子问题的解可以合并为该问题的解;(4)原问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。6、算法的要特性是什么? 参考解答:确定性、可实现性、输入、输出、有穷性7、 算法分析的目的是什么?参考解答:分析算法占用计算机资源的情况,对算法做出比较和评价,设计出额更好的算法。8、算法的时间复杂性与问题的什么因素相关? 参考解答:算法的时间复杂性与问题的规模相关,是问题大小n的函数。9、算法的渐进时间复杂性的含义? 参考解答:当问题的规模n趋向无穷大时,影响算法效率的重要因素是T(n)的数量级,而其他因素仅是使时间复杂度相差常数倍,因此可以用T(n)的数量级(阶)评价算法。时间复杂度T(n)的数量级(阶)称为渐进时间复杂性。10简述渐进时间复杂性上界的定义。参考解答:T(n)是某算法的时间复杂性函数,f(n)是一简单函数,存在正整数No和C,nNo,有T(n)f(n),这种关系记作T(n)=O(f(n)。11快速排序算法最坏情况下需要多少次比较运算?参考解答:最坏情况下快速排序退化成冒泡排序,需要比较n2次。12 阐述归并排序的分治思路。参考解答:讲数组一分为二,分别对每个集合单独排序,然后将已排序的两个序列归并成一个含n个元素的分好类的序列。如果分割后子问题还很大,则继续分治,直到一个元素。13 快速排序的基本思想是什么。 参考解答:快速排序的基本思想是在待排序的N个记录中任意取一个记录,把该记录放在最终位置后,数据序列被此记录分成两部分。所有关键字比该记录关键字小的放在前一部分,所有比它大的放置在后一部分,并把该记录排在这两部分的中间,这个过程称作一次快速排序。之后重复上述过程,直到每一部分内只有一个记录为止。 14分治法的基本思想是什么?将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。15设计动态规划算法的主要步骤?参考解答:(1)找出最优解的性质,并刻划其结构特征。(6分)(2)递归地定义最优值。(3)以自底向上的方式计算出最优值。(4)根据计算最优值时得到的信息,构造最优解。16分治法与动态规划法的异同共同点:将待求解的问题分解成
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号