算法设计与分析期末

合集下载

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

《算法设计与分析》考试题目及答案(DOC)
}
Hanoi 塔
D. void hanoi(int n, int C, int A, int B) { 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. 预排序与递归调用
(排列树)算法框架。 8. 用回溯法解 0/1 背包问题时,该问题的解空间结构为(子集树)结构。 9.用回溯法解批处理作业调度问题时,该问题的解空间结构为(排列树)结
构。 10.用回溯法解 0/1 背包问题时,计算结点的上界的函数如下所示,请在空
格中填入合适的内容:
Typep Knap<Typew, Typep>::Bound(int i) {// 计算上界
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.重叠子问题性质与贪心选择性质
《算法分析与设计》期末复习 法则的流水作业调度采用的算法是(D)
A. 贪心算法
B. 分支限界法 C.分治法
D. 动态规划算法
2.Hanoi 塔问题如下图所示。现要求将塔座 A 上的的所有圆盘移到塔座 B 上, 并仍按同样顺序叠置。移动圆盘时遵守 Hanoi 塔问题的移动规则。由此设计出 解 Hanoi 塔问题的递归算法正确的为:(B)

算法题__计算机算法设计与分析期末试题4套(含答案)

算法题__计算机算法设计与分析期末试题4套(含答案)

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

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

不存在二义性。

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

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

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

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

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

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

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

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

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

二、建立迭代关系式。

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

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

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

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

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

迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。

计算机算法设计与分析期末复习资料

计算机算法设计与分析期末复习资料

一填空题(20x1=20分)1.当设定的问题有多种算法去解决时,其选择算法的主要原则是选择其中复杂性最低者。

2.用函数自身给出定义的函数是一种递归函数。

3.动态规划算法适用于解最优化问题。

4.贪心算法的两个基本要素是最优子结构性质、贪心选择性质。

5.回溯法在搜索解空间树的时候,为了避免无效搜索,通常使用深度优先手段来提高搜索效率。

6.依据求解目标的不同,分支界限法和回溯法分别用广度优先遍历或者最小耗费优先、深度优先的方式搜索解空间树。

7.分支界限法和回溯法主要区别在于求解目标和搜索方式不同。

8.在分支界限法实现的时候,通常采用方式来实现最大优先队列。

9.依据求解所花费的时间和所得到的结果不同,随机化算法大致分为数值随机化算法、蒙特卡罗算法、拉斯维加斯算法和舍伍德算法四类。

10.产生伪随机数最常用的方法是线性同余法。

11.线性规划算法中转轴变化的目的是将入基变量与离基变量互调位置。

12.最大网络流问题中可增广路是残留网络中一条容量大于0的路。

13.待解决问题适用于动态规划法的两个基本要素是。

14.算法必须满足的四个特征是输入、输出、确定性、有限性。

15.算法复杂性依赖于、、三个方面的复杂因素。

16.实现递归调用的关键是17.动态规划算法求解问题的重要线索是问题的性质。

18.最优子结构性质是贪心算法求解问题的关键特征。

19.分支界限法的求解目标是找出满足约束条件的一个解,或是在满足约束条件的解中找出在某种意义下的最优解。

20.问题的解空间树常见的有子集树、排列树两种类型。

21.分支界限算法依据其从和节点表中选择获得下一扩展节点的不同方式被分为22.对于任何约束标准型线性规划问题,只要将所用分基本变量都设置为0,就可以获得一个解。

三概念题(6x2=12分)1.算法复杂性:是算法运行所需要的计算机资源的量,需要时间资源的量称为时间复杂性,需要空间资源的量称为空间复杂性。

2.递归算法:直接或间接地调用自身的算法称为递归算法。

《算法分析与设计》期末复习题

《算法分析与设计》期末复习题

一、选择题1.一个.java文件中可以有()个public类。

A.一个B.两个C.多个D.零个2.一个算法应该是()A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A和C3.用计算机无法解决“打印所有素数”的问题,其原因是解决该问题的算法违背了算法特征中的()A.唯一性B.有穷性C.有0个或多个输入D.有输出4.某校有6位学生参加学生会主席竞选,得票数依次为130,20,98,15,67,3。

若采用冒泡排序算法对其进行排序,则完成第二遍时的结果是()A.3,15,130,20,98,67B.3,15,20,130,98,67C.3,15,20,67,130,98 D.3,15,20,67,98,1305.下列关于算法的描述,正确的是()A.一个算法的执行步骤可以是无限的B.一个完整的算法必须有输出C.算法只能用流程图表示D.一个完整的算法至少有一个输入6.Java Application源程序的主类是指包含有()方法的类。

A、main方法B、toString方法C、init方法D、actionPerfromed方法7.找出满足各位数字之和等于5的所有三位数可采用的算法思路是()A.分治法B.减治法C.蛮力法D.变治法8.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。

A、import java.awt.* ;B、import java.applet.Applet ;C、import java.io.* ;D、import java.awt.Graphics ;9.计算某球队平均年龄的部分算法流程图如图所示,其中:c用来记录已输入球员的人数,sum用来计算有效数据之和,d用来存储从键盘输入的球员年龄值,输入0时表示输入结束。

图中空白处理框①和②处应填入的是()A.①sum ←sum + d B.①sum ←sum + c②c ←c + 1②c ←c + 1C.①sum ←sum + d D.①sum ←sum + c②d ←d + 1 ②d ←d + 110.报名参加冬季越野赛跑的某班5位学生的学号是:5,8,11,33,45。

《算法分析与设计》期末复习

《算法分析与设计》期末复习
15.计算机算法的正确描述是:(D) A. 一个算法是求特定问题的运算序列 B.算法是一个有穷规则的集合,规定了一个解决某一特定类型的问题的运算序 列 C.算法是一个对任一有效输入能够停机的图灵机 D.一个算法,它是满足 5 个特性(有限性、确定性、可行性、输入、输出)的程 序 16.影响程序执行时间的因素有哪些?(ABCD) A.算法设计的策略 B.问题的规模 C.编译程序产生的机器代码质量 D.计算机执行指令的速度 17.用数量级形式表示的算法执行时间称为算法的(A) A.时间复杂度 B.空间复杂度 C.处理器复杂度 D.通信复杂度 18.时间复杂性为多项式界的算法有:(C) A.快速排序算法 B.n-后问题 C.计算 pi 值 D.prim 算法 19.对于并行算法与串行算法的关系,正确的理解是:( )
D. f (n=) O ( g (n)) ⇔ g (n=) O ( f (n))
6.能采用贪心算法求最优解的问题,一般具有的重要性质为:(A)
A. 最优子结构性质与贪心选择性质
B.重叠子问题性质与贪心选择性质
C.最优子结构性质与重叠子问题性质
D. 预排序与递归调用
7.回溯法在问题的解空间树中,按(D)策略,从根结点出发搜索解空间树。 A.广度优先 B.活结点优先 C.扩展结点优先 D.深度优先 8.分支限界法在问题的解空间树中,按(A)策略,从根结点出发搜索解空间树。 A.广度优先 B. 活结点优先 C.扩展结点优先 D. 深度优先 10.回溯法的效率不依赖于以下哪一个因素?(C )
A. O(g(n)) = { f(n) | 存在正常数 c 和 n0 使得对所有 n ≥ n0 有:0 ≤ f(n) ≤ cg(n) };
B. O(g(n)) = { f(n) | 存在正常数 c 和 n0 使得对所有 n ≥ n0 有:0 ≤ cg(n) ≤ f(n) };

算法设计与分析期末试题考试版

算法设计与分析期末试题考试版

1、用计算机求解问题的步骤:1、问题分析2、数学模型建立3、算法设计与选择4、算法指标5、算法分析6、算法实现7、程序调试8、结果整理文档编制2、算法定义:算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程3、算法的三要素1、操作2、控制结构3、数据结构算法具有以下5个属性:有穷性:确定性:可行性:输入:输出:算法设计的质量指标:正确性:算法应满足具体问题的需求;可读性:算法应该好读,以有利于读者对程序的理解;健壮性:算法应具有容错处理,当输入为非法数据时,算法应对其作出反应,而不是产生莫名其妙的输出结果。

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

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

复杂性的渐近性态设T(N)是算法A的复杂性函数,使得当N→∞时有:(T(N)-T’(N))/T(N) → 0那么,我们就说T’(N)是T(N)当N→∞时的渐近性态,或叫T’(N)为算法A当N→∞的渐近复杂性而与T(N)相区别。

P = NP经常采用的算法主要有迭代法、分而治之法、贪婪法、动态规划法、回溯法、分支限界法分而治之法1、基本思想将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。

分治法所能解决的问题一般具有以下几个特征:(1)该问题的规模缩小到一定的程度就可以容易地解决;(2)该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质;(3)利用该问题分解出的子问题的解可以合并为该问题的解;(4)该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子子问题。

3、分治法的基本步骤(1)分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;(2)解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题;(3)合并:将各个子问题的解合并为原问题的解。

递归:直接或间接的调用自身的算法,叫做递归算法。

算法与分析期末报告总结

算法与分析期末报告总结

算法与分析期末报告总结一、引言算法与分析作为计算机科学中的核心课程之一,主要介绍了算法设计与分析方法以及常见的算法模型和技术。

通过本学期的学习,我对算法设计与分析的基本概念和原理有了更深入的理解,并掌握了一些常用的算法和数据结构,提高了解决实际问题的能力。

二、算法设计与分析方法在本学期的课程中,我们学习了多种算法设计与分析方法,包括贪心算法、动态规划、分治法和回溯法。

这些方法具有不同的特点和适用范围,在解决问题时可以根据实际情况选择合适的方法。

1. 贪心算法贪心算法是一种简单、高效的算法设计与分析方法,它通过每一步选择局部最优解来达到全局最优解。

贪心算法通常用来求解优化问题,如最小生成树、最短路径和背包问题等。

在贪心算法的设计中,我们需要注意选择局部最优解是否能够推导出全局最优解,即贪心选择性质。

同时,我们还需要证明贪心算法的正确性和计算复杂度。

2. 动态规划动态规划是一种将复杂问题分解成子问题的方法,并将子问题的解保存起来,避免重复计算。

通过动态规划,我们可以得到问题的最优解。

动态规划的核心思想是利用子问题的解构建更大规模问题的解,通常需要定义递推关系和边界条件,以计算出每个子问题的解。

动态规划算法通常需要使用一个表格来保存子问题的解,从而提高计算效率。

3. 分治法分治法是一种将复杂问题分解成相互独立且相同结构的子问题的方法,并将子问题的解合并起来获得原问题的解。

分治法通常用递归的方式实现。

分治算法的核心思想是将问题分解成多个规模较小且结构相同的子问题,并通过递归求解子问题。

最后将子问题的解合并起来,得到原问题的解。

分治算法通常能够有效地降低问题的规模,提高算法的效率。

4. 回溯法回溯法是一种通过试错方法搜索问题的解空间的方法。

回溯法通过不断地回退和尝试可行的解,来找到问题的解。

回溯算法的核心思想是通过深度优先搜索的方式来遍历问题的解空间,并通过剪枝操作来减少无效的搜索。

回溯法通常需要使用递归的方式实现。

(完整版)算法设计与分析期末考试卷及答案a

(完整版)算法设计与分析期末考试卷及答案a

考生 信 息 栏 ______学院______系______专业______年级姓名______学号_____ 装 订 线考 生信 息 栏 ______学院______系______专业______年级姓名______学号_____ 装 订 线 pro2(n) ex1(n/2) end if return end ex1 3.用Floyd 算法求下图每一对顶点之间的最短路径长度,计算矩阵D 0,D 1,D 2和D 3,其中D k [i, j]表示从顶点i 到顶点j 的不经过编号大于k 的顶点的最短路径长度。

三.算法填空题(共34分) 1.(10分)设n 个不同的整数按升序存于数组A[1..n]中,求使得A[i]=i 的下标i 。

下面是求解该问题的分治算法。

算法 SEARCH 输入:正整数n ,存储n 个按升序排列的不同整数的数组A[1..n]。

输出:A[1..n]中使得A[i]=i 的一个下标i ,若不存在,则输出 no solution 。

i=find ( (1) ) if i>0 then output i else output “no solution” end SEARCH 过程 find (low, high) // 求A[low..high] 中使得A[i]=i 的一个下标并返回,若不存在,考生 信息 栏 ______学院______系______ 专业 ______年级姓名______学号_____ 装订线《算法设计与分析》期考试卷(A)标准答案 一. 填空题:1. 元运算 考生 信 息 栏 ______学院______系______ 专业 ______年级姓名______ 学号_____ 装订线2. O3.∑∈n D I I t I p )()(4. 将规模为n 的问题分解为子问题以及组合相应的子问题的解所需的时间5. 分解,递归,组合6. 在问题的状态空间树上作带剪枝的DFS 搜索(或:DFS+剪枝)7. 前者分解出的子问题有重叠的,而后者分解出的子问题是相互独立(不重叠)的8. 局部9. 高10. 归并排序算法11. 不同12. v=random (low, high); 交换A[low]和A[v]的值随机选主元13. 比较n二. 计算题和简答题:1. 阶的关系:(1) f(n)= O(g(n))(2) f(n)=Ω(g(n))(3) f(n)=Ω(g(n))(4) f(n)= O(g(n))(5) f(n)=Θ(g(n))阶最低的函数是:100阶最高的函数是:n 32. 该递归算法的时间复杂性T(n)满足下列递归方程:⎩⎨⎧>+===1n ,n log T(n/2)T(n)1n , 1T(n)2 将n=k2, a=1, c=2, g(n)=n log 2, d=1代入该类递归方程解的一般形式得: T(n)=1+∑-=1k 0i i 22n log =1+k n log 2-∑-=1k 0i i =1+ k n log 2-2)1k (k -=n log 2122+n log 212+1 所以,T(n)= n log 2122+n log 212+1=)(log 2n Θ。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
周次
课次
教学内容
讲课方式及课时数
自学课时
作业
备注
讲课
实验
上机
习题
其他
1
1
第一章算法问题求解基础(1学时)
1.1算法概述
1.2算法设计与分析
第二章算法分析基础(1学时)
2.1算法复杂度
2.2渐近表示法

2
2-1到2-8
2
2
第五章分治法(6学时)
3.1一般方法
3.2求最大最小元
2
5-7,5-8,5-11,5-18
3
3
3.3二分搜索
2
4
4
3.4排序问题
3.5斯特拉森矩阵乘法
2
2
5
5
第六章贪心法(6学时)
4.1一般方法
4.2背包问题
2
6-1,6-8,6-9,
6
6
4.3最佳合并模式
2
7
7
4.4最小代价生成树
2
2
8
8
第七章动态规划法(6学时)
5.1一般方法和基本要素
2
7-1,7-2,7-3,7-9,
9
9
5.2每对结点间的最短路径
2
10
10
5.3最长公共子序列
5.4 0/1背包
2
2
11
11
第八章回溯法(6学时)
6.1一般方法
2
8-1,8-2,8-3,
8-5,8-6,
8-7
8-8
12
12
6.2 n-皇后
2
13
13
6.3子集和数问题
2
2
14
14
第九章分枝限界法(6学时)
7.1一般方法
2
9-1,
9-2,
9-3,9-4,
9-5
15
15
7.2求最优解的分枝限界法
2
16
16
7.3带时限的作业排序
2
2
合计
32
算法分析与设计C试卷组成
填空:10个x2分=20分选择:10个x2分=20分
简答:5个x8分=40分证明:1个x10分=10分
算法填空:5个空x2分=10分
相关文档
最新文档