算法设计与分析试题2011秋

中国科学院研究生院
课程编号: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 问题。

合集下载

1.算法设计与分析习题及答案

1.算法设计与分析习题及答案

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)
15 / 16
(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 分)

算法设计与分析考试题及答案_百度文库

算法设计与分析考试题及答案_百度文库
应包含___________。 6. 动 态 规 划 算 法 的 基 本 思 想 是 将 待 求 解 问 题 分 解 成 若 干
____________,先求解___________,然后从这些____________的 解得到原问题的解。
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卷

湘潭大学 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) 答案

中南大学考试试卷答案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套(含答案)

算法题-计算机算法设计与分析期末试题4套(含答案)(1)用计算机求解问题的步骤:1、问题分析2、数学模型建立3、算法设计与选择4、算法指标5、算法分析6、算法实现7、程序调试8、结果整理文档编制(2)算法定义:算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程(3)算法的三要素1、操作2、控制结构3、数据结构算法具有以下5个属性:有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。

确定性:算法中每一条指令必须有确切的含义。

不存在二义性。

只有一个入口和一个出口可行性:一个算法是可行的就是算法描述的操作是可以通过已经实现的基本运算执行有限次来实现的。

输入:一个算法有零个或多个输入,这些输入取自于某个特定对象的集合。

输出:一个算法有一个或多个输出,这些输出同输入有着某些特定关系的量。

算法设计的质量指标:正确性:算法应满足具体问题的需求;可读性:算法应该好读,以有利于读者对程序的理解;健壮性:算法应具有容错处理,当输入为非法数据时,算法应对其作出反应,而不是产生莫名其妙的输出结果。

效率与存储量需求:效率指的是算法执行的时间;存储量需求指算法执行过程中所需要的最大存储空间。

一般这两者与问题的规模有关。

经常采用的算法主要有迭代法、分而治之法、贪婪法、动态规划法、回溯法、分支限界法迭代法也称“辗转法”,是一种不断用变量的旧值递推出新值的解决问题的方法。

利用迭代算法解决问题,需要做好以下三个方面的工作:一、确定迭代模型。

在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。

二、建立迭代关系式。

所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。

迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。

三、对迭代过程进行控制。

在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。

不能让迭代过程无休止地重复执行下去。

2010-2011学年第一学期《算法设计与分析》试卷B(软08级)

(2)f(n)=log2100, g(n)=10
(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级考核形式:开卷)

《算法设计与分析》考试题目及答案

《算法分析与设计》期末复习题一、选择题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)策略,从根结点出发搜索解空间树。

《算法设计与分析》试卷及答案

《算法设计与分析》试卷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)(附答案)

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 )对输入进行预处理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档