




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法分析与设计期末复习题及答案一、简要回答下列问题 :1. 算法重要特性是什么? 2. 算法分析的目的是什么?3. 算法的时间复杂性与问题的什么因素相关?4. 算法的渐进时间复杂性的含义?5. 最坏情况下的时间复杂性和平均时间复杂性有什么不同?6. 简述二分检索(折半查找)算法的基本过程。7. 背包问题的目标函数和贪心算法最优化量度相同吗?8. 采用回溯法求解的问题,其解如何表示?有什么规定?9. 回溯法的搜索特点是什么? 10. n皇后问题回溯算法的判别函数place的基本流程是什么?11. 为什么用分治法设计的算法一般有递归调用?12. 为什么要分析最坏情况下的算法时间复杂性? 13. 简述渐进时间复杂性上界的定义。14. 二分检索算法最多的比较次数?15. 快速排序算法最坏情况下需要多少次比较运算?16. 贪心算法的基本思想?17. 回溯法的解(x1,x2,xn)的隐约束一般指什么?18. 阐述归并排序的分治思路。19. 快速排序的基本思想是什么。 20. 什么是直接递归和间接递归?消除递归一般要用到什么数据结构?21. 什么是哈密顿环问题?22. 用回溯法求解哈密顿环,如何定义判定函数?23. 请写出prim算法的基本思想。参考答案:1. 确定性、可实现性、输入、输出、有穷性2. 分析算法占用计算机资源的情况,对算法做出比较和评价,设计出额更好的算法。3. 算法的时间复杂性与问题的规模相关,是问题大小n的函数。4当问题的规模n趋向无穷大时,影响算法效率的重要因素是T(n)的数量级,而其他因素仅是使时间复杂度相差常数倍,因此可以用T(n)的数量级(阶)评价算法。时间复杂度T(n)的数量级(阶)称为渐进时间复杂性。5. 最坏情况下的时间复杂性和平均时间复杂性考察的是n固定时,不同输入实例下的算法所耗时间。最坏情况下的时间复杂性取的输入实例中最大的时间复杂度:W(n) = max T(n,I) , IDn平均时间复杂性是所有输入实例的处理时间与各自概率的乘积和:A(n) =P(I)T(n,I) IDn6. 设输入是一个按非降次序排列的元素表Ai:j 和x,选取A(i+j)/2与x比较,如果A(i+j)/2=x,则返回(i+j)/2,如果A(i+j)/2x,则Ai:(i+j)/2-1找x,否则在A (i+j)/2+1:j 找x。上述过程被反复递归调用。回溯法的搜索特点是什么7. 不相同。目标函数:获得最大利润。最优量度:最大利润/重量比。8. 问题的解可以表示为n元组:(x1,x2,xn),xiSi, Si为有穷集合,xiSi, (x1,x2,xn)具备完备性,即(x1,x2,xn)是合理的,则(x1,x2,xi)(in)一定合理。9. 在解空间树上跳跃式地深度优先搜索,即用判定函数考察xk的取值,如果xk是合理的就搜索xk为根节点的子树,如果xk取完了所有的值,便回溯到xk-1。10. 将第K行的皇后分别与前k-1行的皇后比较,看是否与它们相容,如果不相容就返回false,测试完毕则返回true。11 . 子问题的规模还很大时,必须继续使用分治法,反复分治,必然要用到递归。12 最坏情况下的时间复杂性决定算法的优劣,并且最坏情况下的时间复杂性较平均时间复杂性游可操作性。 13 .T(n)是某算法的时间复杂性函数,f(n)是一简单函数,存在正整数No和C,nNo,有T(n)f(n),这种关系记作T(n)=O(f(n)。14 .二分检索算法的最多的比较次数为 log n 。15.最坏情况下快速排序退化成冒泡排序,需要比较n2次。16. 是一种依据最优化量度依次选择输入的分级处理方法。基本思路是:首先根据题意,选取一种量度标准;然后按这种量度标准对这n个输入排序,依次选择输入量加入部分解中。如果当前这个输入量的加入,不满足约束条件,则不把此输入加到这部分解中。17回溯法的解(x1,x2,xn)的隐约束一般指个元素之间应满足的某种关系。 18. 讲数组一分为二,分别对每个集合单独排序,然后将已排序的两个序列归并成一个含n个元素的分好类的序列。如果分割后子问题还很大,则继续分治,直到一个元素。19.快速排序的基本思想是在待排序的N个记录中任意取一个记录,把该记录放在最终位置后,数据序列被此记录分成两部分。所有关键字比该记录关键字小的放在前一部分,所有比它大的放置在后一部分,并把该记录排在这两部分的中间,这个过程称作一次快速排序。之后重复上述过程,直到每一部分内只有一个记录为止。20.在定义一个过程或者函数的时候又出现了调用本过程或者函数的成分,既调用它自己本身,这称为直接递归。如果过程或者函数P调用过程或者函数Q,Q又调用P,这个称为间接递归。消除递归一般要用到栈这种数据结构。21.哈密顿环是指一条沿着图G的N条边环行的路径,它的访问每个节点一次并且返回它的开始位置。22.当前选择的节点Xk是从未到过的节点,即XkXi(i=1,2,k-1),且C(Xk-1, Xk),如果k=-1,则C(Xk, X1) 。23. 思路是:最初生成树T为空,依次向内加入与树有最小邻接边的n-1条边。处理过程:首先加入最小代价的一条边到T,根据各节点到T的邻接边排序,选择最小边加入,新边加入后,修改由于新边所改变的邻接边排序,再选择下一条边加入,直至加入n-1条边。 二、复杂性分析1、 MERGESORT(low,high) if lowM then return endif aa+i ii+1 ; repeat end 解: i1 ;s0 时间为:O(1) while i n do 循环n次 循环体内所用时间为 O(1) 所以 总时间为:T(n)=O(1)+ nO(1)= O(n) 3.procedure PARTITION(m,p) Integer m,p,i;global A(m:p-1) vA(m);im looploop ii+1 until A(i) v repeatloop pp-1 until A(p) v repeat if ip then call INTERCHANGE(A(i),A(p) else exit endif repeat A(m) A(p);A(p) v End PARTITION解:最多的查找次数是p-m+1次 4.procedure F1(n) if n1时F1(n)的时间复杂度与F2(2,n,1,1)的时间复杂度相同即为为 O(n) 5.procedure MAX(A,n,j) xmaxA(1);j1 for i2 to n do if A(i)xmax then xmaxA(i); ji;endif repeatend MAX 解:xmaxA(1);j1 时间为:O(1) for i2 to n do 循环最多n-1次 所以 总时间为:T(n)=O(1)+ (n-1)O(1)= O(n) 6.procedure BINSRCH(A,n,x,j) integer low,high,mid,j,n; low1;highn while lowhigh do mid|_(low+high)/2_| case :xA(mid):lowmid+1:else:jmid; return endcase repeat j0 end BINSRCH解:log2n+1三、算法理解2写出maxmin算法对下列实例中找最大数和最小数的过程。数组 A=(48,12,61,3,5,19,32,7) 解:写出maxmin算法对下列实例中找最大数和最小数的过程。数组 A=() 1、 48,12,61,3, 5,19,32,72、48,12 61,3 5,19 32,73、 4861, 123 1932,574、 6132 355、 61 3 3、 快速排序算法对下列实例排序,算法执行过程中,写出数组A第一次被分割的过程。 A=(65,70,75,80,85,55,50,2)解:第一个分割元素为65 4、 归并排序算法对下列实例排序,写出算法执行过程。 A=(48,12,61,3,5,19,32,7) 解: 48,12,61,3 5,19,32,748,12 61,3 5,19 32,712,48 3,61 5,19 7,32 3, 12, 48, 61 5, 7, 19,323,5, 7,12,19,32,48,61 5、 写出图着色问题的回溯算法的判断Xk是否合理的过程。解:i0while ik do if Gk,i=1 and Xk= Xi then return false ii+1repeat if i= k then return true 6、 对于下图,写出图着色算法得出一种着色方案的过程。 解:K1X1 1 , 返回 trueX21,返回false; X2X2+1=2, 返回 trueX31 ,返回false; X3X3+1=2, 返回false;X3X3+1=3, 返回 true X41, 返回false; X4X4+1=2, 返回false;X4X4+1=3, 返回 true找到一个解 (1,2,3,3) 7、 写出第7题的状态空间树。解: 8、写出归并排序算法对下列实例排序的过程。(6,2,9,3,5,1,8,7)解:调用第一层次 6,2,9,3 5,1,8,7 分成两个子问题 调用第二层次 6,2 9,3 5,1 8,7 分成四个子问题 调用第三层次 6 2 9 3 5 1 8 7 分成八个子问题 调用第四层次 只有一个元素返回上一层第三层归并 2 ,6 3, 9 1,5 7,8 返回上一层第二层归并 2 ,3,6, 9 1,5,7,8 返回上一层第一层归并 1, 2 ,3, 5 ,6, 7, 8,9 排序结束,返回主函数 9、写出用背包问题贪心算法解决下列实例的过程。 P=(18,12,4,1) W=(12,10,8,3) M=25解: 实例符合P(i)/W(i)P(i+1)/W(i+1)的顺序。 CU25,X0 W1 CU: x11; CUCU-W1=13; W2CU: x3CU/ W3=3/8;实例的解为:(1,1,3/8,0) 11、有一个有序表为1,3,9,12,32,41,45,62,75,77,82,95,100,当使用二分查找值为82的结点时,经过多少次比较后查找成功并给出过程。解:有一个有序表为1,3,9,12,32,41,45,62,75,77,82,95,100,当使用二分查找值为82的结点时,经过多少次比较后查找成功并给出过程。一共要要执行四次才能找到值为82的数。 12、使用prim算法构造出如下图G的一棵最小生成树。 dist(1,2)=6;dist(2,5)=3;dist(5,6)=6;dist(6,4)=2;dist(4,1)=5; dist(1,3)=1;dist(2,3)=5;dist(3,4)=5;dist(3,6)=4;dist(5,3)=6解:使用普里姆算法构造出如下图G的一棵最小生成树。 dist(1,2)=6;dist(2,5)=3;dist(5,6)=6;dist(6,4)=2;dist(4,1)=5; dist(1,3)=1;dist(2,3)=5;dist(3,4)=5;dist(3,6)=4;dist(5,3)=6 13、有如下函数说明int f(int x,int y) f=x Mod y +1;已知a=10,b=4,c=5 则执行k=f(f(a+c,b),f(b,c)后,k的值是多少并写出详细过程。解:有如下函数说明int f(int x,int y) f=x Mod y +1;已知a=10,b=4,c=5 则执行k=f(f(a+c,b),f(b,c)后,k的值是多少并写出详细过程。 K的值是5 14、McCathy函数定义如下:当x100时 m(x)=x-10;当x100时 m(x)=x-10;当x100) return(x-100);else y=m(x+11); return (m(y); 15、 设计一个算法在一个向量A中找出最大数和最小数的元素。解:设计一个算法在一个向量A中找出最大数和最小数的元素。Void maxmin(A,n)Vector A;int n;int max,min,i; max=A1;min=A1;for(i=2;imax)max=Ai;else if(Aicu then exit endif X(i) 1 cucu-W(i) repeat end GREEDY-KNAPSACK 根据算法得出的解: X=(1,1,1,1,1,0,0)获利润52, 而解(1,1,1,1, 0, 1,0)可获利润54 因此贪心法不一定获得最优解。 4. 设计只求一个哈密顿环的回溯算法。解:Hamiltonian(n)k1; xk 0; While k0 do xk xk+1; while B(k)=false and xkn do xk xk+1; repeat If xkn then if k=n then print x; return else k k+1; xk0; endif else k k-1 endifrepeatendprocedure B(k) Gxk-1,xk 1 then return false; for i1 to k-1 do if xi=xk then return false;endif repeat return true; 5利用对称性设计算法,求n为偶数的皇后问题所有解。解:利用对称性设计算法,求n为偶数的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校生物园管理制度
- 学校诗词曲管理制度
- 学法校资产管理制度
- 学生穿校服管理制度
- 安全生产部管理制度
- 安装队科室管理制度
- 定销房销售管理制度
- 实训室环境管理制度
- 审核制度及管理制度
- 客栈经营与管理制度
- 2025年北京市高考英语试卷真题(含答案解析)
- 中国可穿戴医疗设备项目创业计划书
- 2025年高考物理广西卷试题真题及答案详解(精校打印)
- 招商运营笔试题目及答案
- 湟水河河湟新区段北岸防洪生态综合治理项目 社会稳定风险评估报告
- CJ/T 345-2010生活饮用水净水厂用煤质活性炭
- 国开电大【管理英语3单元自测1-8答案】+【管理英语4形考任务单元自测1-8答案】
- GB/T 45630-2025系统与软件工程架构描述
- 施工现场消防安全应急预案
- 2025年全国司法警察学院考试试卷及答案
- 2025年重庆市公务员录用考试《行测》真题及答案解析
评论
0/150
提交评论