算法设计与分析试题2011秋
1.算法设计与分析习题及答案
![1.算法设计与分析习题及答案](https://img.taocdn.com/s3/m/740e9ef89a89680203d8ce2f0066f5335a8167e6.png)
1.算法设计与分析习题及答案《计算机算法设计与分析》习题及答案2013 秋《计算机算法设计与分析》习题及答案一.选择题1、二分搜索算法是利用( A )实现的算法。
A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是动态规划算法基本步骤的是( A )。
A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3、最大效益优先是( A )的一搜索方式。
A、分支界限法B、动态规划法C、贪心法D、回溯法4、在下列算法中有时找不到问题解的是( B )。
A、蒙特卡罗算法B、拉斯维加斯算法C、舍伍德算法D、数值概率算法5. 回溯法解旅行售货员问题时的解空间树是( A )。
A、子集树B、排列树C、深度优先生成树D、广度优先生成树6.下列算法中通常以自底向上的方式求解最优解的是( B )。
A、备忘录法B、动态规划法C、贪心法D、回溯法7、衡量一个算法好坏的标准是( C )。
A 运行速度快B 占用空间少C 时间复杂度低D 代码短8、以下不可以使用分治法求解的是( D )。
A 棋盘覆盖问题B 选择问题C 归并排序D 0/1背包问题9. 实现循环赛日程表利用的算法是( A )。
A、分治策略B、动态规划法C、贪心法D、回溯法10、下列随机算法中运行时有时候成功有时候失败的是( C )A 数值概率算法B 舍伍德算法C 拉斯维加斯算法D 蒙特卡罗算法11.下面不是分支界限法搜索方式的是( D )。
A、广度优先B、最小耗费优先C、最大效益优先D、深度优先12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。
A、备忘录法B、动态规划法C、贪心法D、回溯法13.备忘录方法是那种算法的变形。
( B )A、分治法B、动态规划法C、贪心法D、回溯法14.哈夫曼编码的贪心算法所需的计算时间为( B )。
A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)15.分支限界法解最大团问题时,活结点表的组织形式是(B )。
算法设计与分析期末笔试题(2011)
![算法设计与分析期末笔试题(2011)](https://img.taocdn.com/s3/m/4d3a6384a0116c175f0e48ef.png)
(2)分析算法的正确性(3 分) (3)说明算法的时间复杂度(2 分)。
16 / 16
(c) 剩余顶点构成其补图的一个团
(d) 运行时间为 O(V+E)
4 / 16
得分 三、求解下列递归式,假设 T(1)=1(每小题 5 分,共 15 分)
(1) T(n) 2T(n / 2) n log n
5 / 16
(2) T (n) 2T (n / 2) n / log n
6 / 16
1 / 16
得分
一、填空题(每空 1 分,共 20 分)
1.请将下列 5 个关于 n 的函数 ( 2 )lgn , n2 , lg 2 n, (lg n)!, 2 2lgn 按渐进增
长的关系排序,使得������1 = Ω ������2 , ������2 = Ω ������3 , … , ������4 = Ω ������5 。 ____________、____________、____________、____________和____________。
(3) T(n) nT( n) nlog n
7 / 16
得分 四、简答题(共 20 分)
(1)100 个人排队乘坐有 100 个座位的飞机,正常情况时每个都会对号入坐, 但是,第一个上飞机的是个傻子,他随机坐了一个位子,接下来的人上飞机时,如 果自己座位被人坐了就会随机找个座位坐下,否则就坐自己坐位。问题:最后一个 上飞机的人坐到自己座位的概率是多少?(3 分)
假设有一个字符串������ = ������1������2 … ������������ ,y 的一个“分散子串”是指������ = ������1������2 … ������������ , ������ ≤ ������并且������������ = ������������ ,1 ≤ ������ ≤ ������, 1 ≤ ������1 ≤ ������2 ≤ ⋯ ≤ ������������ ≤ ������。例如,字符串 12345 就 是字符串 1ds2j34muy5dy 一个分散子串。 (1)请设计一个时间复杂度为 O(n)的算法来判断 x 是否是 y 的分散子串。(5 分)
算法设计与分析考试题及答案_百度文库
![算法设计与分析考试题及答案_百度文库](https://img.taocdn.com/s3/m/89e8df7127284b73f24250cb.png)
____________,先求解___________,然后从这些____________的 解得到原问题的解。
7.以深度优先方式系统搜索问题解的算法称为_____________。 8.0-1 背包问题的回溯算法所需的计算时间为_____________,用动态
个基 的度量,是评价算法优劣的重要依据。 4、 计算机的资源最重要的是 7、 许多可以用贪心算法求解的问题一般具有 2 个重要的性质: 3、Hanoi 算法
Hanoi(n,a,b,c) if (n==1) 1 else { 2 ; 3 ; Hanoi(n-1,b, a, c); } ; 4、Dijkstra
算法求单源最短路径 d[u]:s 到 u 的距离 p[u]:记录前一节点信息 Init-singleInit-single-source(G,s) for
each vertex v∈V[G] do { d[v]=∞; 1 } d[s]=0 Relax(u,v,w) if d[v]>d[u]+w(u,v) then
;c++) 2 ; ; if( t[r+1][c]>t[r+1][c+1]) ) 。 性质和 性 的选择。也就是说贪心算法并不从整体最优考 、
,它们规定了解决某一特定类型问题的 、 和 。 资源。因而,算法的复杂性有 和 。 2、 在进行问题的计算复杂性分析之前,首先必须建立求解问题所用的计算模型。3
规划算法所需的计算时间为____________。 9.动态规划算法的两个基本要素是___________和___________。
湘大2011算法设计与分析下B卷
![湘大2011算法设计与分析下B卷](https://img.taocdn.com/s3/m/5f6841f3998fcc22bcd10d66.png)
湘潭大学 2011 年 下 学期 2009 级 《算法设计与分析》课程考试试卷
(B 卷)适用年级专业 2009 级网络工程
考试方式
学院 学号
题 号 得 分 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„
闭卷
专业
考试时间 120 分钟
班级 姓名
一
二
三
四
五
总分
阅卷教师
称 g(n)是 f(n)的( )函数。 ) ,函数 2nlogn+3n 的渐进表达式为(
3、 函数 5n2+10 的渐进表达式为( 4、 (
) 。
)是最常用的解题方法,有“通用的解题法”之称。 )和( )随机数。 )的存储空间。 ) )的性质。
5、 通常能用动态规划法求解的问题应具备( 6、 计算机产生的随机数都是有周期的,所以被称为( 7、 ASCII 码压缩方法经过两级压缩之后可以减少( 8、 分支限界法一般是以 (
2、字符串 abcaabcbcaabcabc,用 LZW 算法压缩,压缩码是什么?请写出字典(10 分)
得 分
五、算法设计题(每题 15 分,共 30 分)
(注意:请用自然语言描述你的思路,再写伪代码。 )
(第 3 页 共 8 页)
1、设有多项式 p( x) a0 a1x a2 x2 an xn ,现有一个计算多项式值的算法如下: p=a[0]; power=1; for (i=1;i<n;i++;){ power=x*power; p=p+a[i]*power;}
1 n 1 T (n) 4T (n / 2) n n 1
3、什么是算法, 算法具有的特性是什么? 算法是对特定问题求解步骤的一种描述,包含操作的有限规则和操作的有限序列 确定性,有限性,输入,输出
算法分析与设计考试试卷(2011) 答案
![算法分析与设计考试试卷(2011) 答案](https://img.taocdn.com/s3/m/fac19e3931126edb6f1a10d0.png)
中南大学考试试卷答案2011 -- 2012学年上学期时间120分钟 2012 年1 月6日算法分析与设计课程 48 学时 3 学分考试形式:闭卷专业年级:09级计算机、信安本科生,总分100分,占总评成绩70 %注:此页不作答题纸,请将答案写在答题纸上1. (15points) Describe the main ideas of the following strategies, and briefly describe the differences between them.(1) divide-and–conquer;Divide the problem into two or more smaller subproblems;Conquer the subproblems by solving them recursively;Combine the solutions to the subproblems into the solutions for the original problem(2) dynamic programming;Solve several smaller (overlapping) subproblems;Record solutions in a table so that each subproblem is only solved once;Final state of the table will be (or contain) solution(3)branch and boundCombine depth-first search and breadth-first search.Selecting the node with the best estimated cost among all nodes.Set up a bounding function, which is used to compute a bound (for the value of the objective function) at a node on a state-space tree and determine if it is promising.2. (30 points) Choose T or F for each of the following statements.1)The best case running time for quicksort to sort an element array is O(nlogn).T2)By the master theorem, the solution to the recurrence T(n)=3T(n/3)+3n isT(n)=O(nlogn). T3)Every binary search tree on n nodes has height O(logn). F4)By using path compression (Union- Find) technique to analyze Kruskal algorithm,the algorithm’s running time is O(mlog*n+nlog*n). F5)Depth-first search of a graph is asymptotically faster than breadth-first search. F6)Kruskal’s algorithm for findin g a minimum spanning tree employs dynamicprogramming. F7)The backtrack technique uses the idea of breath first search to get the optimalvalue. F8)n!=O(2n). F9)In the worst case, merge sort runs in O(n2)time. F10)In computer science, all the problems are either in P or NP. F11)Kruskal’s algorithm is faster Prim’s algorithm. F12)Divide-and-Conquer is a bottom-up algorithm and Dynamic Programming is atop-down algorithm. F13)For an unweighted graph G, Depth-first search algorithm can be used to find theshortest paths from a given vertex to other vertices. F14)The strategy using greedy algorithm to solve Knapsack problem is that: each time,choose the item with maximum value to put into the knapsack. T15)The problems solvable by Dynamic Programming can also be solved byDivide-and-Conquer algorithm. T3. Algorithm Design(20)(1) (10) Given a graph G=(V, E), use Depth-First-Search to count the number of connected components in G.DFS(G){for each vertex u{u.color = WHITE;}time = 0;i=0;for each vertex u{if (u.color == WHITE)DFS_Visit(u);i++;}}DFS_Visit(u){u.color = GREY;time = time+1;d[u] = time;for each v u.Adj[]{if (v.color == WHITE)DFS_Visit(v);}u.color = BLACK;time = time+1;f[u] = time;}(2) (10 points) A maximum spanning tree in a weighted graph G is a spanning tree inG with the largest weight over all spanning trees. Give an efficient algorithm that constructs a maximum spanning tree for a weighted graph G=(V, E), and analyze the running time of your algorithm.Prim1(G)1.VT={v0};2.ET=Ф;3.For i=1 to n-1 dofind a maximum weight edge e*=(u*, v*) amongall the edges (u, v) such that u is in T and v is in V-T;VT=VT∪{v*};ET=ET∪{e*};4. Return ET.4、(10) Solve the following recurrence relation. T(1)=1,a、b、c are constants, and a=b=c=1(1)T(n)=aT(n-1)+bnO(n2)(2)T(n)=aT(n/2)+bn cO(n)5.(25) For a 0/1 knapsack problem, given n items, where each item has weight W and value V, find a set of items that could be put into the knapsack without over the capacity M of the knapsack. Assume that n=4,W={10,8,6,4},V={5,4,3,2},M=12。
算法题-计算机算法设计与分析期末试题4套(含答案)
![算法题-计算机算法设计与分析期末试题4套(含答案)](https://img.taocdn.com/s3/m/4521082c591b6bd97f192279168884868762b8a0.png)
算法题-计算机算法设计与分析期末试题4套(含答案)(1)用计算机求解问题的步骤:1、问题分析2、数学模型建立3、算法设计与选择4、算法指标5、算法分析6、算法实现7、程序调试8、结果整理文档编制(2)算法定义:算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程(3)算法的三要素1、操作2、控制结构3、数据结构算法具有以下5个属性:有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
确定性:算法中每一条指令必须有确切的含义。
不存在二义性。
只有一个入口和一个出口可行性:一个算法是可行的就是算法描述的操作是可以通过已经实现的基本运算执行有限次来实现的。
输入:一个算法有零个或多个输入,这些输入取自于某个特定对象的集合。
输出:一个算法有一个或多个输出,这些输出同输入有着某些特定关系的量。
算法设计的质量指标:正确性:算法应满足具体问题的需求;可读性:算法应该好读,以有利于读者对程序的理解;健壮性:算法应具有容错处理,当输入为非法数据时,算法应对其作出反应,而不是产生莫名其妙的输出结果。
效率与存储量需求:效率指的是算法执行的时间;存储量需求指算法执行过程中所需要的最大存储空间。
一般这两者与问题的规模有关。
经常采用的算法主要有迭代法、分而治之法、贪婪法、动态规划法、回溯法、分支限界法迭代法也称“辗转法”,是一种不断用变量的旧值递推出新值的解决问题的方法。
利用迭代算法解决问题,需要做好以下三个方面的工作:一、确定迭代模型。
在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。
二、建立迭代关系式。
所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。
迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。
三、对迭代过程进行控制。
在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。
不能让迭代过程无休止地重复执行下去。
2010-2011学年第一学期《算法设计与分析》试卷B(软08级)
![2010-2011学年第一学期《算法设计与分析》试卷B(软08级)](https://img.taocdn.com/s3/m/8fd090b165ce0508763213aa.png)
(3)f(n)=n2, g(n)=7n log2n
(4)f(n)=(3/5)n, g(n)=log2n
(5)f(n)=(3/2)n, g(n)=9nlog2n
院系
年级
专业
姓名
学号
考试课程
装
订
线
装
订
线
2.(10分)对下图所示的连通网络G,用普利姆(Prim)算法求G的最小生成树T。假设开始时T的顶点集TV={1}。请写出在此之后算法执行过程中,依次加入T的顶点集TV中的顶点和边集TE中的边。请说明该算法的基本思想和贪心策略。
1
2
3
4
5
6
18
11
17
15
19
21
26
6
7
9
3.(10分)设要计算矩阵链A1A2A3的乘积,各矩阵的阶如下表所示。
矩阵
A1
A2
A3
矩阵的阶
32
23
34
请根据动态规划算法计算m矩阵和s矩阵(注:在该算法中用m[i][j]记录计算矩阵链AiAi+1…Aj所需的最小数乘次数,并用s[i][j]记录计算m[i][j]时取得最优代价处k的值)。并根据m矩阵和s矩阵来确定矩阵链A1A2A3乘积的最佳计算次序及最少数乘次数。
2011年高考试卷2011高考试卷2011年高考理综试卷2011年宁夏理综试卷2011高考试卷及答案2011福建高考试卷算法设计与分析试卷2011小升初数学试卷2011年湖南高考试卷2011年安徽理综试卷
装
订
线
2010—2011学年第一学期《算法设计与分析》试卷(B)
(院系:软件学院专业:软件工程年级:08级考核形式:开卷)
《算法设计与分析》考试题目及答案
![《算法设计与分析》考试题目及答案](https://img.taocdn.com/s3/m/c131ff76cf84b9d528ea7a63.png)
《算法分析与设计》期末复习题一、选择题1.应用Johnson 法则的流水作业调度采用的算法是(D )A. 贪心算法B. 分支限界法C.分治法D. 动态规划算法2.Hanoi 塔问题如下图所示。
现要求将塔座A 上的的所有圆盘移到塔座B 上,并仍按同样顺序叠置。
移动圆盘时遵守Hanoi 塔问题的移动规则。
由此设计出解Hanoi 塔问题的递归算法正确的为:(B )Hanoi 塔A. void hanoi(int n, int A, int C, int B) { if (n > 0) {hanoi(n-1,A,C, B); move(n,a,b);hanoi(n-1, C, B, A); } B. void hanoi(int n, int A, int B, int C) {if (n > 0) {hanoi(n-1, A, C, B); move(n,a,b);hanoi(n-1, C, B, A); }C. void hanoi(int n, int C, int B, int A) {if (n > 0) {hanoi(n-1, A, C, B); move(n,a,b);hanoi(n-1, C, B, A); }3. 动态规划算法的基本要素为(C)A. 最优子结构性质与贪心选择性质B.重叠子问题性质与贪心选择性质C.最优子结构性质与重叠子问题性质D. 预排序与递归调用4. 算法分析中,记号O表示(B),记号Ω表示(A),记号Θ表示(D)。
A.渐进下界B.渐进上界C.非紧上界D.紧渐进界E.非紧下界5. 以下关于渐进记号的性质是正确的有:(A)A.f(n)(g(n)),g(n)(h(n))f(n)(h(n))=Θ=Θ⇒=ΘB. f(n)O(g(n)),g(n)O(h(n))h(n)O(f(n))==⇒=C. O(f(n))+O(g(n)) = O(min{f(n),g(n)})D. f(n)O(g(n))g(n)O(f(n))=⇔=6.能采用贪心算法求最优解的问题,一般具有的重要性质为:(A)A. 最优子结构性质与贪心选择性质B.重叠子问题性质与贪心选择性质C.最优子结构性质与重叠子问题性质D. 预排序与递归调用7. 回溯法在问题的解空间树中,按(D)策略,从根结点出发搜索解空间树。
《算法设计与分析》试卷及答案
![《算法设计与分析》试卷及答案](https://img.taocdn.com/s3/m/c2faae7cdc36a32d7375a417866fb84ae45cc3f3.png)
《算法设计与分析》试卷1一、多项选择题(每空2分, 共20分):1.以下关于算法设计问题的叙述中正确的是__________。
A.计算机与数值问题的求解——方程式求根、插值问题、数值积分、函数逼近等有关B.利用计算机无法解决非数值问题C.计算机在解决分类、语言翻译、图形识别、解决高等代数和组合分析等方面的数学问题、定理证明、公式推导乃至日常生活中各种过程的模拟等问题中, 主要进行的是判断、比较, 而不是算术运算D、算法设计与分析主要研究对象是非数值问题, 当然也包含某些数值问题2.算法的特征包括_________。
A.有穷性B、确定性C.输入和输出D.能行性或可行性3、以下描述是有关算法设计的基本步骤:①问题的陈述②算法分析③模型的拟制④算法的实现⑤算法的详细设计⑥文档的编制, 应与其它环节交织在一起其中正确的顺序是__________。
A.①②③④⑤⑥B.①③⑤②④⑥C.②④①③⑤⑥D.⑥①③⑤②④4.以下说法正确的是__________。
A.数学归纳法可以证明算法终止性B.良序原则是证明算法的正确性的有力工具C. x = 小于或等于x的最大整数(x的低限)D. x = 小于或等于x的最大整数(x的高限)5、汉诺塔(Hanoi)问题中令h(n)为从A移动n个金片到C上所用的次数, 则递归方程为__________, 其初始条件为__________, 将n个金片从A柱移到C柱上的移动次数是__________;设菲波那契(Fibonacci)数列中Fn为第n个月时兔子的对数, 则有递归方程为__________, 其中F1=F2=__________。
A.Fn=Fn-1+Fn-2 B、h(n)= 2h(n-1)+1C.1 D、h(1)= 1E、h(n)=2n-1F、06.在一个有向连通图中(如下图所示), 找出点A到点B的一条最短路为____ ______。
A.最短路: 1→3→5→8→10, 耗费: 20B、最短路:1→4→6→9→10, 耗费:16C.最短路: 1→4→6→9, 耗费: 12D.最短路: 4→6→9→10, 耗费: 13二、填空(每空2分, 共20分):1.快速排序法的基本思想是重新排列关键字, 把一个文件分成两个文件, 使得第一个文件中所有元素均小于第二个文件中的元素;然后再对两个子文件进行同样的处理。
算法设计与分析试卷试题(A)(附答案)
![算法设计与分析试卷试题(A)(附答案)](https://img.taocdn.com/s3/m/61f44f9ed1d233d4b14e852458fb770bf78a3b27.png)
chengcheng算法分析考试试卷(A卷)课程名称算法分析编号题号一二三四总分得分评阅人一、填空题(每小题3分,共30分)1、一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
2、这种不断回头寻找目标的方法称为回溯法。
3、直接或间接地调用自身的算法称为递归算法。
4、 记号在算法复杂性的表示法中表示紧致界。
5、由分治法产生的子问题往往是原问题较小模式,这就为使用递归技术提供了方便。
6、建立计算模型的目的是为了使问题的计算复杂性分析有一个共同的客观尺度。
7、下列各步骤的先后顺序是②③④①。
①调试程序②分析问题③设计算法④编写程序。
8、最优子结构性质的含义是问题最优解包含其子问题最优解。
9、贪心算法从初始阶段开始,每一个阶段总是作一个使局部最优的贪心选择。
10、拉斯维加斯算法找到的解一定是正确的。
二、选择题(每小题2分,共20分)1、哈夫曼编码可利用( C )算法实现。
A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是基本计算模型的是( B )。
A、RAMB、ROMC、RASPD、TM3、下列算法中通常以自顶向下的方式求解最优解的是( C)。
A、分治法B、动态规划法C、贪心法D、回溯法chengcheng 4、在对问题的解空间树进行搜索的方法中,一个活结点有多次机会成为活结点的是( A )A、回溯法B、分支限界法C、回溯法和分支限界法D、动态规划5、秦始皇吞并六国使用的远交近攻,逐个击破的连横策略采用了以下哪种算法思想? BA、递归;B、分治;C、迭代;D、模拟。
6、FIFO是( A )的一搜索方式。
A、分支界限法B、动态规划法C、贪心法D、回溯法7、投点法是( B )的一种。
A、分支界限算法B、概率算法C、贪心算法D、回溯算法8、若线性规划问题存在最优解,它一定不在( C )A.可行域的某个顶点上 B.可行域的某条边上 C.可行域内部 D.以上都不对9、在一般输入数据的程序里,输入多多少少会影响到算法的计算复杂度,为了消除这种影响可用( B )对输入进行预处理。
算法设计与分析(试题A卷)
![算法设计与分析(试题A卷)](https://img.taocdn.com/s3/m/ccfcfa8402d276a200292ed1.png)
四川师范大学成教×××专业×××层次半脱产形式期末考试期末试卷第1页( 共6页)《算法设计与分析》课程试卷(A)答卷说明:1、考试方式 闭卷2、满分100分一、单项选择题(每小题3分,共30分)1、动态规划算法的基本要素为( )。
A 、最优子结构性质与贪心选择性质B 、重叠子问题性质与贪心选择性质C 、最优子结构性质与重叠子问题性质D.、预排序与递归调用2、算法分析中,记号O 表示( ),记号Ω表示( ),记号Θ表示( )。
A 、渐进下界B 、渐进上界C 、非紧上界D 、紧渐进界E 、非紧下界3、以下关于渐进记号的性质是正确的有:( )A 、f (n)(g(n)),g(n)(h(n))f (n)(h(n))=Θ=Θ⇒=ΘB 、f (n)O(g(n)),g(n)O(h(n))h(n)O(f (n))==⇒=C 、O(f(n))+O(g(n)) = O(min{f(n),g(n)})D 、f (n)O(g(n))g(n)O(f (n))=⇔=4、下列算法中通常以自底向上的方式求解最优解的是( )。
四川师范大学成教××专业××层次××形式期末考试 ××试卷 第2页( 共6页) A 、备忘录法 B 、动态规划法 C 、贪心法 D 、回溯法5、衡量一个算法好坏的标准是( )。
A 、运行速度快B 、占用空间少C 、时间复杂度低D 、代码段6、实现棋盘覆盖算法利用的算法是( )。
A 、分治法B 、动态规划法C 、贪心法D 、回溯法7、下面关于NP 问题说法正确的是( )。
A 、NP 问题都是不可能解决的问题B 、P 类问题包含在NP 类问题中C 、NP 完全问题是P 类问题的子集D 、NP 类问题包含在P 类问题中8、矩阵连乘问题的算法可由( )设计实现。
A 、分支界限算法B 、动态规划算法C 、贪心算法9、( )是贪心算法与动态规划算法的共同点。
计算机算法试题(含答案)
![计算机算法试题(含答案)](https://img.taocdn.com/s3/m/06ed10d4910ef12d2af9e79f.png)
算法设计与分析试卷一、填空题(20分,每空2分)1、算法的性质包括输入、输出、___、有限性。
2、动态规划算法的基本思想就将待求问题_____、先求解子问题,然后从这些子问题的解得到原问题的解。
3、设计动态规划算法的4个步骤:(1)找出____,并刻画其结构特征。
(2)_______。
(3)_______。
(4)根据计算最优值得到的信息,_______。
4、流水作业调度问题的johnson算法:(1)令N1=___,N2={i|ai>=bj};(2)将N1中作业依ai的___。
5、对于流水作业高度问题,必存在一个最优调度π,使得作业π(i)和π(i+1)满足Johnson不等式_____。
6、最优二叉搜索树即是___的二叉搜索树。
二、综合题(50分)1、当(a1,a2,a3,a4,a5,a6)=(-2,11,-4,13,-5,-2)时,最大子段和为∑ak(2<=k<=4)____(5分)2、由流水作业调度问题的最优子结构性质可知,T(N,0)=______(5分)3、最大子段和问题的简单算法(10分)int maxsum(int n,int *a,int & bestj){intsum=0;for (int i=1;i<=n;i++)for (int j=i;j<=n;j++)int thissum=0;for(int k=i;k<=j;k++)_____;if(thissum>sum){sum=thissum;______;bestj=j;}}return sum;}4、设计最优二叉搜索树问题的动态规划算法OptimalBinarysearchTree? (15分)Void OptimalBinarysearchTree(int a,int n,int * * m, int * * w) {for(int i=0;i<=n;i++) {w[i+1][i]=a[i]; m[i+1][i]=____;} for(int r=0;r<n;r++)for(int i=1;i<=n-r;i++){int j=i+r;w[i][j]=w[i][j-1]+a[j]+b[j];m[i][j]=______;s[i][j]=i;for(int k=i+1;k<=j;k++){int t=m[i][k-1]+m[k+1][j];if(_____) {m[i][j]=t; s[i][j]=k;}}m[i][j]=t; s[i][j]=k;}}5、设n=4, (a1,a2,a3,a4)=(3,4,8,10), (b1,b2,b3,b4)=(6,2,9,15) 用两种方法求4个作业的最优调度方案并计算其最优值?(15分)三、简答题(30分)1、将所给定序列a[1:n]分为长度相等的两段a[1:n/2]和a[n/2+1:n],分别求出这两段的最大子段和,则a[1:n]的最大子段和有哪三种情形?(10分)答:2、由0——1背包问题的最优子结构性质,可以对m(i,j)建立怎样的递归式? (10分)3、0——1背包求最优值的步骤分为哪几步?(10分)参考答案:填空题:确定性分解成若干个子问题最优解的性质递归地定义最优值以自底向上的方式计算出最优值构造最优解{i|ai<bi} ai的非减序排序;将N2中作业依bi的非增序排序min{bπ(i),aπ(i+1)}≥min{bπ(i+1),aπ(i)}最小平均查找长度综合题:20 min{ai+T(N-{i},bi)}(1=<i<=n) thissum+=a[k] besti=i 0 m[i+1][j] t<m[i][j]法一:min(ai,bj)<=min(aj,bi)因为min(a1,b2)<=min(a2,b1)所以1→2 (先1后2)由min(a1,b3)<=min(a3,b1)得1→3 (先1后3)同理可得:最后为1→3→4→2法二:johnson算法思想N1={1,3,4} N2={2}N¹1={1,3,4} N¹2={2}所以 N¹1→N¹2得:1→3→4→2简答题:1 、(1)a[1:n]的最大子段和与a[1:n/2]的最大子段和相同。
算法设计与分析复习题目及答案-推荐下载
![算法设计与分析复习题目及答案-推荐下载](https://img.taocdn.com/s3/m/6dcceca005087632311212ec.png)
A、分支界限法 B、动态规划法
17.实现棋盘覆盖算法利用的算法是( A
A、分治法
18.下面是贪心算法的基本要素的是(
B、最大堆
B、动态规划法 C、贪心法
A、重叠子问题 B、构造最优解 C、贪心选择性质
19.回溯法的效率不依赖于下列哪些因素( D )
A.满足显约束的值的个数
C. 计算限界函数的时间
20.下面哪种函数是回溯法中为避免无效搜索采取的策略( B )
A 中序遍历 B 广度优先遍历 C 深度优先遍历 D 层次优先遍历
33、下列随机算法中运行时有时候成功有时候失败的是(C )
B N 皇后问题
D 背包问题
A 数值概率算法 B 舍伍德算法 C 拉斯维加斯算法 D 蒙特卡罗算法
34.实现合并排序利用的算法是( A )。
A、分治策略
B、动态规划法
35.下列是动态规划算法基本要素的是( D )。
A 数值概率算法 B 舍伍德算法 C 拉斯维加斯算法 D 蒙特卡罗算法
11.下面不是分支界限法搜索方式的是( D )。
A、广度优先
B、最小耗费优先 C、最大效益优先
12.下列算法中通常以深度优先方式系统搜索问题解的是(
A、备忘录法
B、动态规划法 C、贪心法
13.备忘录方法是那种算法的变形。( B )
)。
D、O(n)
D、数
D、回溯法
D、回溯法
D、定义最优解
D.搜索函数
D、最优子结构性质
26. 分支限界法解旅行售货员问题时,活结点表的组织形式是( A )。
A、最小堆
B、最大堆
27、Strassen 矩阵乘法是利用( A )实现的算法。
A、分治策略 B、动态规划法 C、贪心法 D、回溯法
2011年安工算法设计与分析考试题
![2011年安工算法设计与分析考试题](https://img.taocdn.com/s3/m/d5ca6004b52acfc789ebc917.png)
2011年安阳工学院算法设计与分析考期末试题一、填空1算法三要素:操作,控制结构,数据结构2广度优先搜索,深度优先搜索二、简答1、用计算机求解问题的步骤:1、问题分析2、数学模型建立3、算法设计与选择4、算法指标5、算法分析6、算法实现7、程序调试8、结果整理文档编制2回溯算法求解步骤3动态规划基本步骤三、计算题(10)用贪心算法求如下背包问题的最优解,n=7,m=15,价值P={10,5,15,7,6,18,3},重量w={2,3,5,7,1,4,1},用列表表示货物编号 1 2 3 4 5 6 7P 10 5 15 7 6 18 3W 2 3 5 7 1 4 1P/W 5 1.6 3 1 6 4.5 3解:p/w=经过排序后排号为:5,1,6,3,7,2,4则5号先放入包,此时,W总=1,P总=6,x5=11号放入包,……………………=3,…..=16,..=16……………………………………….=7,……=34,..=17………………………………………=12,…..=49,..=12………………………………………=15,…..=55.3,..=2/3故x4=0,则得x={1,2/3,1,0,1,1,1,1},P总=55.3注:此题有错误,欢迎同学们提出正确答案(11)设有资源数目为3,分配给3个项目,g(x)为第i个项目得到资源x所得到的利润,求总利润最大的资源分配方案利润见表1 2 3额项目A 0.11 0.13 0.15B 0.12 0.16 0.21C 0.08 0.12 0.20解:分阶段,逐步考虑每一个项目在不同资源分配情况利润,设f i(x)为将资源x分配前i个项目的最大利润,分3段决策过程:f i(x)=g i(x) 0<=x<=3f i(x)=max{g i(z)+f i(x-z)} 0<=x<=3,i=3分三步分析题:①第一个项目A的资金x与利润f i(x)的关系如下:0 1 2 3Xyf i(x) 0 0.11 0.13 0.15②分配前两项目的总资金x,x与利润f2(x)的关系,x2(0<=x2<=3)为分配给项目B的资金0 1 2 3 f2(x)x2x0 0 0.001 0.11 0.12 0.122 0.13 0.23 0.16 0.233 0.15 0.25 0.27 0.21 0.27f1(1)=g1(1)f2(x2)=max(0<=x2<=2){g(x)+f(2-x)}③当资源为3时,f3(3)=max(0<=x3<=3){g3(x)+f2(3-x)}X3 0 1 2 3g3(x3)0.00 0.08 0.12 0.20f2(3-x3) 0.27 0.23 0.12 0.00g3(x3)+f2(3-x3) 0.27 0.31 0.24 0.20则f1(1)=g1(1)=0.11 f2(2)=g2(1)+f1(1)=0.23=0.12+0.11f3(x3)max(0<=x<=3){g3(x)+f2(3-x)}=g3(1)+f2(2)=0.08+0.23故当A分得1万元,B 分得1万元,C分得1万元,最后利润为最大0.31万元()(14)为马的遍历问题check函数设计Int check(int x,int y){if(x<m && y<n && a[x]a[y]!=1)Return 1;else return 0;}(15)#include <iostream>Using namespace std;Int ack(int m,int n){If(m==0)Return n+1;Else if(n==0)Return ack(m-1,1);ElseReturn ack(m-1,ack(m,n-1));}Int main(){Int m,n,t;Cin>>m>>n;If(m<0||n<0)Cout<<”data is wrong”<<endl;Else If(m>4)Cout<<”data is too longer”<<endl;Else If((m==4)&&(n>0))Cout<<”data is too longer”<<endl;Else If((m==3)&&(n>10))Cout<<”data is too longer”<<endl;Else If((m==2)&&(n>5628))Cout<<”data is too longer”<<endl;Else If((m==1)&&(n>1259))Cout<<”data is too longer”<<endl;ElseT=ack(m,n);Cout<<t<<endl;}Return 0;}1、用计算机求解问题的步骤:1、问题分析2、数学模型建立3、算法设计与选择4、算法指标5、算法分析6、算法实现7、程序调试8、结果整理文档编制2、算法定义:算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程3、算法的三要素1、操作2、控制结构3、数据结构(3)算法的基本特征 P6算法的基本特征:可行性、确定性、有穷性、有一个或多个输出、有零个或多个输入(4)简述评价算法的标准 P36对算法的分析和评价,一般应考虑正确性,可维护性,可读性,运算量。
《算法设计与分析》考试题目及答案(DOC)
![《算法设计与分析》考试题目及答案(DOC)](https://img.taocdn.com/s3/m/f3c54f2a4431b90d6d85c71e.png)
cg(n) }; B. O(g(n)) = { f(n) | 存在正常数 c 和 n0 使得对所有 n n0 有:0 cg(n)
f(n) }; C. O(g(n)) = { f(n) | 对于任何正常数 c>0,存在正数和 n0 >0 使得对所有
12. k 带图灵机的空间复杂性 S(n)是指(B) A. k 带图灵机处理所有长度为 n 的输入时,在某条带上所使用过的最大方格
数。 B. k 带图灵机处理所有长度为 n 的输入时,在 k 条带上所使用过的方格数的
总和。 C. k 带图灵机处理所有长度为 n 的输入时,在 k 条带上所使用过的平均方格
cg(n) }; B. O(g(n)) = { f(n) | 存在正常数 c 和 n0 使得对所有 n n0 有:0 cg(n)
f(n) };
C. (g(n)) = { f(n) | 对于任何正常数 c>0,存在正数和 n0 >0 使得对所有 n n0 有:0 f(n)<cg(n) };
n n0 有:0 f(n)<cg(n) }; D. O(g(n)) = { f(n) | 对于任何正常数 c>0,存在正数和 n0 >0 使得对所有
n n0 有:0 cg(n) < f(n) };
15. 记号 的定义正确的是(B)。 A. O(g(n)) = { f(n) | 存在正常数 c 和 n0 使得对所有 n n0 有:0 f(n)
return b;
}
11. 用回溯法解布线问题时,求最优解的主要程序段如下。如果布线区域划分 为 n m 的方格阵列,扩展每个结点需 O(1)的时间,L 为最短布线路径的长度, 则算法共耗时 ( O(mn) ),构造相应的最短距离需要(O(L))时间。
算法设计分析期末考试试卷
![算法设计分析期末考试试卷](https://img.taocdn.com/s3/m/4731988702768e9950e73834.png)
2011 年 12 月考试算法设计分析第一次作业一、单项选择题(本大题共 30 分,共 15 小题,每小题 2 分)1. 算法分析的两个主要方面是()。
A. 空间复杂度和时间复杂度B. 正确性和简单性C. 可读性和文档性D. 数据复杂度和程序复杂度2. 计算机算法指的是()。
A. 计算方法B. 排序方法C. 解决问题的方法和过程D. 调度方法3. 多阶段决策问题就是要在可以选择的那些策略中间选取一个()策略使在预定的标准下达到最好的效果。
A. 最优B. 最差C. 平衡D. 任意4. 根据排序元素所在位置的不同,排序分()。
A. 内排序和外排序B. 首排序和尾排序C. 顺序排序和逆序排序D. 堆排序和栈排序5. 算法必须具备输入、输出和()等 5 个特性。
A. 可执行性、可移植性和可扩充性B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性D. 易读性、稳定性和安全性6. 与分治法不同的是,适合于用动态规划求解的问题()A. 经分解得到子问题往往不是互相独立的B. 经分解得到子问题往往是互相独立的C. 经分解得到子问题往往是互相交叉的D. 经分解得到子问题往往是任意的7. 二分搜索算法的基本思想是将 n 个元素分成个数大致相同的两半,取 an/2与 x 进行比较:如果(),则只要在数组 a 的左半部继续搜索 x。
A. x<an/2B. xan/2C. xan/2D. xan/28. 活动安排问题就是在所给的活动集合中,选出()的相容活子集。
A. 最小B. 任意C. 最大D. 一个9. 在对问题的解空间树进行搜索的方法中一个活结点最多有一次机会成为活结点的是()A. 回溯法B. 分支限界法C. 回溯法和分支限界法D. 回溯法求解子集树问题10. 适用动态规划的问题必须满足()A. 最优化原理B. 无前效性C. 最优化原理和后效性D. 最优化原理和无后效性11. 算法的每种运算必须要有确切的定义不能有二义性以下符合算法确定性运算的是()A. 5/0B. 将 6 或 7 与 x 相加C. 未赋值变量参与运算D. fnfn-12F110n 为自然数12.直接或间接的调用自身的算法称为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国科学院研究生院
课程编号:711008Z -1
试 题 专 用 纸 课程名称:计算机算法设计与分析
任课教师: 陈玉福
———————————————————————————————————————————————
姓名
学号 成绩
一. 回答下列问题: (每小题5分)
1. 陈述算法在最坏情况下的时间复杂度和平均时间复杂度;这两种评估算法复杂性的方法各自有什么实际意义?
2. 阐述动态规划算法与贪心算法的区别,它们都有那些优势和劣势?
3. 阐述回溯算法与分枝限界算法的共同点和不同点,提高算法效率的关键是什么?
4. 在对算法进行复杂性分析时,强调渐进复杂性的意义是什么?
二. (20分)试用Prim 算法求解下面无向赋权图的最小生成树,指出最小生成树及该树中各
边被选中的先后次序;写出算法的基本步骤。
三. (20分)用LC -分枝限界算法求解0/1背包问题:5,12n M == ,物品重量和价值
分别是:
(2,3,4,6,9)
W = 和 (8,9,10,12,18)P =
1. 画出由算法生成的状态空间树,并标明各节点的优先级的值;
2. 给出各节点被选作当前扩展节点的先后次序;
3. 给出最优解。
四. (20分)已知一组数12345{,,,,}S x x x x x =满足12345x x x x x <<<<,且被搜索的对象的概
率分布是:
共 2 页 第 1 页
012345123450.1,0.01,0.02,0.04,0.03,0.20.15,0.05,0.075,0.25,0.075
a a a a a a
b b b b b ===========
其中i a 表示被搜索对象在区间1(,)i i x x +内的概率,i b 表示被搜索对象为i x 的概率,06,x x =-∞=+∞ 使用动态规划算法求该搜索问题的最优二叉搜索树。
五.(20分) 假定已知“无向图的Hamilton 回路”问题是NPC 问题,证明“旅行商判定问题”也是NPC 问题。