算法设计与分析试卷(A)及答案

合集下载

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

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

算法设计与分析1、(1) 证明:O(f)+O(g)=O(f+g)(7分)(2) 求下列函数的渐近表达式:(6分)① 3n 2+10n;② 21+1/n;2、对于下列各组函数f(n)和g(n),确定f(n)=O(g(n))或f(n)=Ω(g(n))或f(n)=θ(g(n)),并简述理由。

(15分)(1);5log )(;log )(2+==n n g n n f (2);)(;log )(2n n g n n f == (3);log )(;)(2n n g n n f == 3、试用分治法对数组A[n]实现快速排序。

(13分)4、试用动态规划算法实现最长公共子序列问题。

(15分)5、试用贪心算法求解汽车加油问题:已知一辆汽车加满油后可行驶n 公里,而旅途中有若干个加油站。

试设计一个有效算法,指出应在哪些加油站停靠加油,使加油次数最少。

(12分)6、试用动态规划算法实现下列问题:设A 和B 是两个字符串。

我们要用最少的字符操作,将字符串A 转换为字符串B ,这里所说的字符操作包括:(1)删除一个字符。

(2)插入一个字符。

(3)将一个字符改为另一个字符。

将字符串A 变换为字符串B 所用的最少字符操作数称为字符串A 到B 的编辑距离,记为d(A,B)。

试设计一个有效算法,对任给的两个字符串A 和B ,计算出它们的编辑距离d(A,B)。

(16分)⎣⎦2/)(;3)(i i g i i f ==。

对于给定的两个整数n 和m ,要求用最少的变换f 和g 变换次数将n 变为m 。

(16分)1、⑴证明:令F(n)=O(f),则存在自然数n 1、c 1,使得对任意的自然数n ≥n 1,有:F(n)≤c 1f(n)……………………………..(2分)同理可令G(n)=O(g),则存在自然数n 2、c 2,使得对任意的自然数n ≥n 2,有:G(n)≤c 2g(n)……………………………..(3分)令c 3=max{c 1,c 2},n 3=max{n 1,n 2},则对所有的n ≥n 3,有: F(n)≤c 1f(n)≤c 3f(n)G(n)≤c 2g(n)≤c 3g(n)……………………………..(5分) 故有:O(f)+O(g)=F(n)+G(n)≤c 3f(n)+c 3g(n)=c 3(f(n)+g(n)) 因此有:O(f)+O(g)=O(f+g)……………………………..(7分) ⑵ 解:① 因为;01033)103(lim 222=+-+∞→n n n n n n 由渐近表达式的定义易知: 3n 2是3n 2+10n 的渐近表达式。

电大计算机本科_算法设计与分析(期末考试复习题含答案)

电大计算机本科_算法设计与分析(期末考试复习题含答案)

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 ).A、最小堆B、最大堆C、栈D、数组16.最长公共子序列算法利用的算法是( B )。

A、分支界限法B、动态规划法C、贪心法D、回溯法17.实现棋盘覆盖算法利用的算法是( A ).A、分治法B、动态规划法C、贪心法D、回溯法18.下面是贪心算法的基本要素的是( C )。

算法设计与分析a卷及答案

算法设计与分析a卷及答案

算法设计与分析试题A及答案一.填空题:(每题4分,共20分)1.算法是指(解决问题的)一种方法或一个过程,是(若干指令的)有穷序列。

2质。

3. 贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择来达到。

4.递归函数的两大基本要素是_递归方程和边界条件_ .5.在回溯法中,一个问题的解空间是指一个大的解决方案可以看作是由若干个小的决策组成。

很多时候它们构成一个决策序列。

解决一个问题的所有可能的决策序列构成该问题的解空间.二.简答题:(每题5分,共20分)1.简述分治法所能解决的问题一般应具有的特征。

1.)该问题的规模缩小到一定的程度就可以容易地解决;2.)该问题具有最优子结构性质;3.)利用该问题分解出的子问题的解可以合并为该问题的解;4.)该问题所分解出的各个子问题是相互独立的。

2.设有待安排的8个活动的开始时间和结束时间如下表。

请采用贪心算法给出活动安排序解:将待安排的8个活动的开始时间和结束时间按结束时间的非减序排列如下:用贪心算法给出活动安排序列:1,3,6,8。

贪心选择的意义是使剩余的可安排时间段极大化,以便安排尽可能多的相容活动。

3.请描述分治法的具体过程。

将原问题划分成k 个子问题。

对这k 个子问题分别求解。

如果子问题的规模仍然不够小,则再划分为k 个子问题,如此递归的进行下去,直到问题规模足够小,很容易求出其解为止。

将求出的小规模的问题的解合并为一个更大规模的问题的解,自底向上逐步求出原来问题的解。

4. Fibonacci 数列如下定义:10()11(1)(2)1n F n n F n F n n =⎧⎪==⎨⎪-+->⎩1、 请设计一个递归算法,计算F(n)。

2、 分析算法的时间复杂性。

解 1、int fibonacci(int n) { if (n <= 1) return 1;return fibonacci(n-1)+fibonacci(n-2); }2、T(n)=T(n-1)+T(n-2)。

(完整word版)计算机算法设计分析试题及答案

(完整word版)计算机算法设计分析试题及答案

算法设计与分析试卷一、填空题(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]的最大子段和相同。

29.1算法设计与分析课程期末试卷-a卷(自测 ) (2)(1)

29.1算法设计与分析课程期末试卷-a卷(自测 ) (2)(1)

华南农业大学期末考试试卷(A卷)2008学年第一学期考试科目:算法分析与设计考试类型:(闭卷)考试时间:120 分钟学号姓名年级专业一、选择题(20分,每题2分)1.下述表达不正确的是。

A.n2/2 + 2n的渐进表达式上界函数是O(2n)B.n2/2 + 2n的渐进表达式下界函数是Ω(2n)C.logn3的渐进表达式上界函数是O(logn)D.logn3的渐进表达式下界函数是Ω(n3)2.当输入规模为n时,算法增长率最大的是。

A.5n B.20log2n C.2n2 D.3nlog3n3.T(n)表示当输入规模为n时的算法效率,以下算法效率最优的是。

A.T(n)= T(n – 1)+1,T(1)=1 B.T(n)= 2n2C.T(n)= T(n/2)+1,T(1)=1 D.T(n)= 3nlog2n4.在棋盘覆盖问题中,对于2k×2k的特殊棋盘(有一个特殊方块),所需的L型骨牌的个数是。

A.(4k– 1)/3 B.2k /3 C.4k D.2k5.在寻找n个元素中第k小元素问题中,若使用快速排序算法思想,运用分治算法对n个元素进行划分,应如何选择划分基准?下面答案解释最合理。

A.随机选择一个元素作为划分基准B.取子序列的第一个元素作为划分基准C.用中位数的中位数方法寻找划分基准D.以上皆可行。

但不同方法,算法复杂度上界可能不同6.有9个村庄,其坐标位置如下表所示:现在要盖一所邮局为这9个村庄服务,请问邮局应该盖在才能使到邮局到这9个村庄的总距离和最短。

A.(4.5,0)B.(4.5,4.5)C.(5,5)D.(5,0)7.n个人拎着水桶在一个水龙头前面排队打水,水桶有大有小,水桶必须打满水,水流恒定。

如下说法不正确?A.让水桶大的人先打水,可以使得每个人排队时间之和最小B.让水桶小的人先打水,可以使得每个人排队时间之和最小C.让水桶小的人先打水,在某个确定的时间t内,可以让尽可能多的人打上水D.若要在尽可能短的时间内,n个人都打完水,按照什么顺序其实都一样8.分治法的设计思想是将一个难以直接解决的大问题分割成规模较小的子问题,分别解决子问题,最后将子问题的解组合起来形成原问题的解。

算法设计与分析参考试卷

算法设计与分析参考试卷

算法设计与分析参考试卷此处不能书写此处不能书写此处不能书…写………此处不能书写……………………………………………装……算法设计与分析参考试卷一、单项选择题1. 当输入规模为n时,下列算法渐进复杂性中最低的是(A )。

.A. 5nB. n2C. 2n2D. n! 2.二分搜索算法是利用(A )实现的算法。

A、分治策略B、动态规划法C、贪心法D、回溯法 3.最大效益优先是( A )的一种搜索方式。

A.分支界限法 B.动态规划法 C.贪心法 D.回溯法4. 回溯法搜索状态空间树是按照( C )的顺序。

A.中序遍历 B.广度优先遍历 C.深度优先遍历 D.层次优先遍历……此…处…不能…书…写…线…………………………………订……5. 回溯法解旅行售货员问题时的解空间树是( B )。

A、子集树树6.下列算法中通常以自底向上的方式求解最优解的是( B )。

A、备忘录法法7.下列算法中通常以深度优先方式系统搜索问题解的是( D )。

A、备忘录法B、动态规划法C、贪心法D、回溯法B、动态规划法C、贪心法D、回溯B、排列树C、深度优先生成树D、广度优先生成…8.快速排序算法是利用( A )实现的算法。

A.分治策略 B.动态规划法 C.贪心法 D.回溯法此处不能书写…二、填空题1. 通俗地讲,算法是指解决问题的一种方法或一个过程。

2.出于“平衡子问题”的思想,通常分治法在分解原问题时,形成若干子问题,这些子问题的规模都大致相同。

三、简答题1.简述单源最短路径问题,该问题适合采用什么方法求解。

第 1 页共 9 页…………………………此处不能书写……一、问题单源最短路径问题[Dijkstra实现]带权有向图G(E,V), 找出从给定源顶点s到其它顶点v的权最小路径。

“最短路径” = 最小权二、问题求解:求1到5的最短路径值?三、执行过程:如果大家对这个问题的要求还不是很明白的话那么我再带着大家走一遍:第2页共9页此处不能书写此处不能书写此处不能书…写………此处不能书写……………………………………………装……第一次:从1-->2:10 此时从1-->3没有路径所有是无穷大 1-->4:30 1-->5:100那么我们发现这一组组最小的是10也就是2这一点,所以我们再把2这一点加到集合里面来,那么2这一点就可以当作一个桥来用,第二次:此时我们再从1à3就可以通过1-->2-->3:60其他的1-->4:301-->5:100 可以发现此时最小的应该是3,所以我们再把3这一点加入到这个集合里面来,如此重复的去做这些事情,到最后可以发现1à5的最短路径应该是60(1-->4-->3-->5)1. int dijkstra(int s,int t) {2.3. 初始化S={空集}4.5. d[s] = 0; 其余d值为正无穷大6.7. while (NOT t in S) 8.9. { 10.11. 取出不在S中的最小的d[i]; 12.13. for (所有不在S中且与i相邻的点j) 14.15. if (d[j] > d[i] + cost[i][j]) d[j] = d[i] + cost[i][j]; (“松弛”操作” ) 16.17. S = S + {i}; //把i点添加到集合S里 18.19. } 20.21. return d[t]; 22. 23. }……此…处…不能…书…写…线…………………………………订………此处不能书写…2.二分搜索要解决什么问题?二分搜索如何体现分治的思想? 简述二分搜索算法的步骤.…………………………此处不能书写查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最折第 3 页共 9 页……半坏的情况下用O(log n)完成搜索任务。

算法设计与分析复习题目及答案.docx

算法设计与分析复习题目及答案.docx

算法设计与分析复习题目及答案.docx一。

选择题1、二分搜索算法是利用(A)实现的算法。

A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是动态规划算法基本步骤的是(B)。

A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3、最大效益优先是(A)的一搜索方式。

A、分支界限法B、动态规划法C、贪心法D、回溯法4、在下列算法中有时找不到问题解的是(B)。

A、蒙特卡罗算法B、拉斯维加斯算法C、舍伍德算法D、数值概率算法5. 回溯法解旅行售货员问题时的解空间树是(B)。

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.下面不是分支界限法搜索方式的是(DA、广度优先B、最小耗费优先C、最大效益优先12.下列算法常以深度优先方式系统搜索问题解的是(A、备忘录法B、动态规划法C、贪心法13.备忘录方法是那种算法的变形。

( B )A、分治法B、动态规划法C、贪心法14.哈弗曼编码的贪心算法所需的计算时间为(BnB、 O(nlogn )n )A、O( n2 )C、O(215.分支限界法解最大团问题时,活结点表的组织形式是(A、最小堆B、最大堆C、栈组)。

D、深度优先D)。

D、回溯法D、回溯法)。

D、 O( n)B)。

D 、数16.最长公共子序列算法利用的算法是(B)。

A、分支界限法B、动态规划法C、贪心法D、回溯法17.实现棋盘覆盖算法利用的算法是(A)。

《算法分析与设计试卷2016-2017》

《算法分析与设计试卷2016-2017》

《算法分析与设计》试卷(A)(时间90分钟满分100分)B )。

A、分支界限法B、动态规划法C、贪心法D、回溯法2.在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是( B ).A.回溯法B.分支限界法C.回溯法和分支限界法D.回溯法求解子集树问题3.实现最大子段和利用的算法是( B )。

A、分治策略B、动态规划法C、贪心法D、回溯法4..广度优先是( A )的一搜索方式。

A、分支界限法B、动态规划法C、贪心法D、回溯法5.衡量一个算法好坏的标准是( C )。

A 运行速度快B 占用空间少C 时间复杂度低D 代码短6.Strassen矩阵乘法是利用( A)实现的算法。

A、分治策略B、动态规划法C、贪心法D、回溯法7. 使用分治法求解不需要满足的条件是( A )。

A 子问题必须是一样的B 子问题不能够重复C 子问题的解可以合并D 原问题和子问题使用相同的方法解8.用动态规划算法解决最大字段和问题,其时间复杂性为( B ).A.lognB.nC.n2D.nlogn9.解决活动安排问题,最好用( B )算法A.分治B.贪心C.动态规划D.穷举10.下面哪种函数是回溯法中为避免无效搜索采取的策略( B )A.递归函数 B.剪枝函数C。

随机数函数 D.搜索函数11. 从活结点表中选择下一个扩展结点的不同方式将导致不同的分支限界法,以下除( C )之外都是最常见的方式.A.队列式分支限界法B.优先队列式分支限界法C.栈式分支限界法D.FIFO分支限界法12. .回溯算法和分支限界法的问题的解空间树不会是( D ).A.有序树B.子集树C.排列树D.无序树13.优先队列式分支限界法选取扩展结点的原则是( C )。

A、先进先出B、后进先出C、结点的优先级D、随机14.下面是贪心算法的基本要素的是( C )。

A、重叠子问题B、构造最优解C、贪心选择性质D、定义最优解15.回溯法在解空间树T上的搜索方式是( A ).A.深度优先B.广度优先C.最小耗费优先D.活结点优先二、填空题(20分,每空1分)。

算法设计与分析期末考试卷及答案a

算法设计与分析期末考试卷及答案a

算法设计与分析期末考试卷及答案a-CAL-FENGHAI.-(YICAI)-Company One1考生 信 息 栏 ______学院______系______ 专业 ______年级姓名______学号__装订线考生 信息栏______学院______系______ 专业 ______年级姓名______学号_装订线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. ∑∈nD 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=k 2, 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 Θ。

华南农业大学算法设计与分析 期末试卷 A卷(完整含答案)2011.6

华南农业大学算法设计与分析 期末试卷 A卷(完整含答案)2011.6
华南农业大学期末考试试卷(A 卷)
2010 学年第二学期 考试类型: (闭卷)考试 考试科目: 考试时间: 算法分析与设计 120 分钟
学号 题号 得分 评阅人
姓名 一 二
年级专业 三 四 总分
装 订 线
注意:所有答案请写在答卷上,写在试卷上不得分。 一、选择题(本大题共10小题,每小题2分,共20分)
装 订
二、应用题(本大题共5小题,每小题6分,共30分)
1、对于以下程序段,分析其最坏时间复杂度。 int F(int n) { if (n == 0) return 1; else return F(n-1)*n; } 解:T(n) = T(n-1) + 1 n=0 T(n) = T(n-1) + 1 n>0 得 T(n)=O(n) 2、将下列复杂性函数按照渐进阶从低到高排序。
1、渐进算法分析是指( ) 。B (A)算法在最佳情况、最差情况和平均情况下的代价 (B)当规模逐步往极限方向增大时,对算法资源开销“增长率”上的简化分析 (C)数据结构所占用的空间 (D)在最小输入规模下算法的资源代价 2、下列算法中通常以自底向上的方式求解最优解的是( (A)备忘录法 (B)动态规划法 (C)贪心法 (D)回溯法 ) 。B
1i j
a },
k k i
1 i j n ,则对于n个整数序列的最大子
段和问题, max b[ j ] 即为所求。
1 j n
动态规划递归式: b[ j ]
max{0, a[1]} max{b[ j 1] a[ j ], a[ j ]}
j 1 1 j n
四、算法设计题(本大题共2小题,每小题15分,共30分)
1、 【最长上升子序列问题】 (15 分)

算法设计与分析试卷试题(A)(附答案)

算法设计与分析试卷试题(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 )对输入进行预处理。

算法分析与设计(参考题及答案

算法分析与设计(参考题及答案
26.下列不是动态规划算法基本步骤的是()。
A、找出最优解的性质 B、构造最优解
C、算出最优解 D、定义最优解
答案:A
27.对完全二叉树自顶向下,从左向右给节点编号,节点编号为10的父节点编号为( ).
A、0 B、2 C、4 D、6
答案:C
28.下面哪种函数是回溯法中为避免无效搜索采取的策略()
3.贪婪技术并不能够总是找到最优解。
A、正确 B、错误 答案:正确
4.对于任何权重的图,Dijkstra算法总能产生一个正确的解。
A、正确 B、错误 答案:错误
5.对于给定的字符表及其出现的概率,哈夫曼编码是唯一的。
A、正确 B、错误 答案:错误
6.贪婪算法是在每一步中,“贪婪”地选择最佳操作,并希望通过一系列局部的最优选择, 能产生一个整个问题的最优解。
一、单选题 1.下列函数关系随着输入量增大增加最快的是( )
A、log2n B、n2 C、2n D、n!
答案:C
2.实现循环赛日程表利用的算法是()。
A、分治策略 B、动态规划法 C、贪心法 D、回溯法
答案:A
3.最长公共子序列算法利用的算法是()。
A、分支界限法 B、动态规划法 C、贪心法 D、回溯法
答案:某个问题的最优解包含着其子问题的最优解。这种性质称为最优子结构性质。
3.简述动态规划方法所运用的最优化原理。
答案:“最优化原理”用数学化的语言来描述:假设为了解决某一优化问题,需要依次作出n个决策D1,D2,…,Dn,如若这 个决策序列是最优的,对于任何一个整数k,1<k<n,不论前面k个决策是怎样的,以后的最优决策只取决于由前面决策所确定 的当前状态,即以后的决策Dk+1,Dk+2,…,Dn也是最优的。

算法设计与分析 期末试卷 A卷 完整含答案

算法设计与分析 期末试卷 A卷 完整含答案

装订线华南农业大学期末考试试卷(A卷) 2012学年第1学期 考试科目:算法设计与分析考试类型:(闭卷)考试 考试时间:120 分钟学号姓名年级专业题号一(20) 二(25) 三(16) 四(24) 五(15) 总分得分评阅人说明:(1)请勿漏填学号姓名等信息。

本试卷仅一份,请将答案直接填于试卷上,莫将试卷当草稿,想好了再写,若空白的位置不够,标注清楚后可以写反面;(2)答题时,对算法的描述可以采用文字、公式、图、伪代码、实例说明等混合形式。

请注意表达应条理清晰,思想简洁,勿长篇累述不得要领。

得分一、填空题(1~3题每空1分,第4题每空2分,共20分,结果直接填于划线处)1、化简下面f(n)函数的渐进上界表达式。

(5分)nnnf32/)(21,则____)(_________))((1OnfO322)(nnf,则____)(_________))((2OnfO33log)(nnf ,则____)(_________))((3OnfO2log42)(nnf ,则____)(_________))((4OnfOnnf3log)(5,则____)(_________))((5OnfO参考解答:)3())((1nOnfO ;)2())((2nOnfO ;)(log))((3nOnfO ;)())((24nOnfO ;)())((5nOnfO 。

2、用大O符号和关于n的渐进函数来表征如下算法Loop1至Loop3的运行时间。

(3分)算法1:O( );算法2:O( );12算法3:O( )参考解答:算法1:)(2n O ;算法2:)(3n O ;算法3:)(4n O 。

3、假设算法A 的计算时间为n n T 2)( ,现在一慢一快的两台计算机上测试算法A ,为解决规模n 的问题慢机运行算法A 花费t 秒,而另一台快机速度是慢机的256倍,则在快机上算法A 同样运行t 秒能解决n1规模,则n1和n 的关系为:n1= ;若算法B 的计算时间为2)(n n T ,其余条件不变,则n1= 。

电大计算机本科_算法设计与分析(期末考试复习题含答案)

电大计算机本科_算法设计与分析(期末考试复习题含答案)

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 )。

A、最小堆B、最大堆C、栈D、数组16.最长公共子序列算法利用的算法是( B )。

A、分支界限法B、动态规划法C、贪心法D、回溯法17.实现棋盘覆盖算法利用的算法是( A )。

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

《算法设计与分析》考试题目及答案(DOC)
14. 记号 O 的定义正确的是(A)。 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) }; 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))时间。

算法设计与分析试卷A及答案(2019级)

算法设计与分析试卷A及答案(2019级)

试题纸(A卷)课程名称:算法设计与分析适用专业年级: 2008级计算机、电本考生学号:考生姓名:………………………………………………………………………………………………………………………题号一二三四总分分数一、填空题(10空×2分,共20分)1、算法在运行时占有的机器资源的量称为算法复杂性,主要包括(时间)和(空间)。

2、当一个算法的运行时间为n2+n+1时,由于n2+n+1与n2的数量级相等,则称n2为这个算法的(时间复杂度)。

3、多项式A(n)=a m n m+…+ a2n2+ a1n+ a0的上界为()。

4、递归算法设计的关键在于找出(递归关系)和(最小问题的解)。

5、(无后向性)是问题能用贪婪算法或动态规划方法求解的前提。

6、拆半查找、合并排序、二叉树遍历等算法中均采用了(分而治之)策略。

7、回溯算法是尝试搜索算法中最为基本的一种算法,其采用了一种走不通就掉头的思想作为其控制结构。

8、用分支限界法解决布线问题时,对问题解空间搜索尝试结束的标志是()。

二、判断题(10题×2分,共20分)1.若c是正常数,则O(cf(n))=O(f(n))。

v2.在最好情况下、最坏情况下、平均情况下的时间复杂度中,可操作性最好的且最有实际价值的,是最坏情况下的时间复杂度。

x3.好的算法在很大程度上取决于问题中数据所采用的数据结构。

v4.迭代模型是通过小规模问题的解逐步求解大规模问题的解,正好与递归算法设计相反。

v5.用贪婪算法解决零钱兑换问题时,总能找到问题的最优解。

x6.适用动态规划算法解决问题应该具有最优化原理和子问题重叠。

x7.深度优先搜索算法可以搜索到问题所有可能的解方案。

x8.解决马的遍历问题采用回溯法,对解空间树的搜索采用广度优先搜索方式v9.分支限界法的求解目标是找出满足约束条件的一个解或是在满足约束条件的解中找出使用某一目标函数值达到极大或极小的解。

x三、简答题(3题×6分,共18分)1、叙述分治算法和动态规划算法的基本思想,并比较两种算法的异同。

2009.1算法设计与分析课程期末试卷-A卷(含答案)

2009.1算法设计与分析课程期末试卷-A卷(含答案)

华南农业大学期末考试试卷(A卷)2008学年第一学期考试科目:算法分析与设计考试类型:(闭卷)考试时间:120分钟学号姓名年级专业一、选择题(20分,每题2分)1.下述表达不正确的是。

DA.n2/2 + 2n的渐进表达式上界函数是O(2n)B.n2/2 + 2n的渐进表达式下界函数是Ω(2n)C.logn3的渐进表达式上界函数是O(logn)D.logn3的渐进表达式下界函数是Ω(n3)2.当输入规模为n时,算法增长率最大的是。

AA.5n B.20log2n C.2n2D.3nlog3n3.T(n)表示当输入规模为n时的算法效率,以下算法效率最优的是。

C A.T(n)= T(n – 1)+1,T(1)=1 B.T(n)= 2n2C.T(n)= T(n/2)+1,T(1)=1 D.T(n)= 3nlog2n4.在棋盘覆盖问题中,对于2k×2k的特殊棋盘(有一个特殊方块),所需的L型骨牌的个数是。

AA.(4k– 1)/3 B.2k /3 C.4k D.2k5.在寻找n个元素中第k小元素问题中,若使用快速排序算法思想,运用分治算法对n个元素进行划分,应如何选择划分基准?下面答案解释最合理。

DA.随机选择一个元素作为划分基准B.取子序列的第一个元素作为划分基准C.用中位数的中位数方法寻找划分基准D.以上皆可行。

但不同方法,算法复杂度上界可能不同6.个村庄服务,请问邮局应该盖在才能使到邮局到这9个村庄的总距离和最短。

CA.(4.5,0)B.(4.5,4.5)C.(5,5)D.(5,0)7.n个人拎着水桶在一个水龙头前面排队打水,水桶有大有小,水桶必须打满水,水流恒定。

如下说法不正确?AA.让水桶大的人先打水,可以使得每个人排队时间之和最小B.让水桶小的人先打水,可以使得每个人排队时间之和最小C.让水桶小的人先打水,在某个确定的时间t内,可以让尽可能多的人打上水D.若要在尽可能短的时间内,n个人都打完水,按照什么顺序其实都一样8.分治法的设计思想是将一个难以直接解决的大问题分割成规模较小的子问题,分别解决子问题,最后将子问题的解组合起来形成原问题的解。

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

考试课程: 班级: 姓名: 学号: ------------------------------------------------- 密 ---------------------------------- 封 ----------------------------- 线 ---------------------------------------------------------
考试课程: 班级: 姓名: 学号: ------------------------------------------------- 密 ---------------------------------- 封 ----------------------------- 线 ---------------------------------------------------------
参考答案
一、填空
1、空间复杂度 时间复杂度
2、回溯法
3、递归算法
4、渐进确界或紧致界
5、原问题的较小模式 递归技术
6、问题的计算复杂性分析有一个共同的客观尺度
7、②③④①
8、问题的最优解包含其子问题的最优解
9、局部最优 10、正确的 二、选择
1 2 3 4 5 6 7 8 9 10
C B C A B A B C B A
三、简答题
1、高级语言更接近算法语言,易学、易掌握,一般工程技术人员只需要几周时间的培训就可以胜任程序员的工作;
高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;
高级语言不依赖于机器语言,与具体的计算机硬件关系不大,因而所写出来的程序可植性好、重用率高;
把繁杂琐碎的事务交给编译程序,所以自动化程度高,开发周期短,程序员可以集中时间和精力从事更重要的创造性劳动,提高程序质量。

2、 ①不能保证最后求得的解是最佳的;即多半是近似解。

(少数问题除外)
②策略容易发现(关键:提取清楚问题中的维度), 而且运用简单,被广泛运用。

③策略多样,结果也多样。

④算法实现过程中,通常用到辅助算法:排序
3、解:① 因为:;01
-10n n )1-10n n (lim 22
2=+-+→∞n n 由渐近表达式的定义易知: 1-10n n 2
2+是n ;的渐近表达式。

② 因为:;0n
1/ 5/n 1414)n 1/ 5/n 14(lim 22=++-++∞→n 由渐近表达式的定义易知: 14是14+5/n+1/ n 2的渐近表达式。

4、 找出最优解的性质,并刻划其结构特征。

递归地定义最优值。

以自底向上的方式计算出最优值。

根据计算最优值时得到的信息,构造最优解。

四、算法设计题
1、按照单位效益从大到小依次排列这7个物品为:FBGDECA 。

将它们的序号分别记为1~7。

则可生产如下的状态空间搜索树。

其中各个节点处的限界函数值通过如下方式求得:【排序1分】 a a a b
a a
c
Q 1
11
x =21
x =31x =41=50x =60x =70x =d e e 40x =30
x =41x =e 51x =f 60
x =g 50x =h 40
x =i
20x =j 10x =
a .1501154040305035190.62540-++++⨯= 7(1,1,1,1,,0,0)8
b. 1501154040305030177.560-++++⨯=7(1,1,1,1,0,,0)12
c .4040305010170++++=
(1,1,1,1,0,0,1) d. 1501054040303530167.560-++++⨯= 3(1,1,1,0,1,,0)4
e. 150130404050353017560-++++⨯= 1(1,1,0,1,1,,0)3
f. 1501304040503510170.7135
-++++⨯= 4(1,1,0,1,1,0,)7 g. 40405030160+++= (1,1,0,1,0,1,0) h. 1501404040353010146.8535-++++⨯= 2(1,1,0,0,1,1,)7
i.1501254030503530167.560-++++⨯=5(1,0,1,1,1,,0)12
j. 1501454030503530157.560-++++⨯=1(0,1,1,1,1,,0)12
在Q 1处获得该问题的最优解为(1,1,1,1,0,0,1),背包效益为170。

即在背包中装入物品F 、B 、G 、D 、A 时达到最大效益,为170,重量为150。

【结论2分】
2、初始单纯型表如下:
第二步入基变量x2、离基变量x1
目标函数的最大值为11
最优解为:x*=(0,4,5,0,0,11)
(其中表格填写占11分,目标函数的最大值2分,最优解为占2分)。

相关文档
最新文档