收藏 分销(赏)

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

上传人:快乐****生活 文档编号:2393899 上传时间:2024-05-29 格式:DOC 页数:14 大小:72.42KB
下载 相关 举报
算法设计与分析期末考试卷及答案a.doc_第1页
第1页 / 共14页
算法设计与分析期末考试卷及答案a.doc_第2页
第2页 / 共14页
算法设计与分析期末考试卷及答案a.doc_第3页
第3页 / 共14页
算法设计与分析期末考试卷及答案a.doc_第4页
第4页 / 共14页
算法设计与分析期末考试卷及答案a.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、一填空题(每空2分,共30分)1算法的时间复杂性指算法中 的执行次数。2在忽略常数因子的情况下,O、和三个符号中, 提供了算法运行时间的一个上界。3设Dn表示大小为n的输入集合,t(I)表示输入为I时算法的运算时间, p(I)表示输入I出现的概率,则算法的平均情况下时间复杂性A(n)= 。4分治算法的时间复杂性常常满足如下形式的递归方程: 其中,g(n)表示 。5. 分治算法的基本步骤包括 。6回溯算法的基本思想是 。7动态规划和分治法在分解子问题方面的不同点是 。8贪心算法中每次做出的贪心选择都是 最优选择。9PQ式的分支限界法中,对于活结点表中的结点,其下界函数值越小,优先级越 。10选择

2、排序、插入排序和归并排序算法中, 算法是分治算法。 11随机算法的一个基本特征是对于同一组输入, 不同的运行可能得到 的结果。 12.对于下面的确定性快速排序算法,只要在步骤3前加入随机化步骤 ,就可得到一个随机化快速排序算法,该随机化步骤的功能是 。算法 QUICKSORT输入:n个元素的数组A1.n。输出:按非降序排列的数组A中的元素。考生信息栏学院系 专业 年级姓名 学号装 订 线1. quicksort(1, n)end QUICKSORT过程 quicksort(A, low, high)/ 对Alow.high中的元素按非降序排序。 2. if lowhigh then3. w=S

3、PLIT(A, low, high) /算法SPLIT以Alow为主元将Alow.high划分成两部 /分,返回主元的新位置。4. quicksort (A, low, w-1)5. quicksort (A, w+1, high)6 end ifend quicksort13下面算法的基本运算是 运算,该算法的时间复杂性阶为( )。算法 SPLIT输入:正整数n,数组A1.n。输出:。 i=1 x=A1 for j=2 to n if Aj0 then output ielse output “no solution”end SEARCH过程 find (low, high) / 求Alow

4、.high 中使得Ai=i的一个下标并返回,若不存在, /则返回0。 if (2) then return 0 else mid= if (3) then return mid else if Amidmid then return find( (4) )elsereturn (5) end if end if end ifend find2(10分) 下面是求解矩阵链乘问题的动态规划算法。矩阵链乘问题:给出n个矩阵M1, M2, , Mn , Mi 为riri+1阶矩阵,i=1, 2, , n,求计算M1M2Mn所需的最少数量乘法次数。记 Mi, j=MiMi+1Mj , i=j。设Ci,

5、j, 1=i=j=n, 表示计算Mi, j的所需的最少数量乘法次数,则 算法 MATCHAIN输入:矩阵链长度n, n个矩阵的阶r1.n+1, 其中r1.n为n个矩阵的行数,rn+1为第n个矩阵的列数。输出:n个矩阵链乘所需的数量乘法的最少次数。 考生信息栏学院系 专业 年级姓名 学号装 订 线for i=1 to n Ci, i= (1) for d=1 to n-1 for i=1 to n-d j= (2) Ci, j= for k=i+1 to j x= (3) if xCi, j then (4) =x end if end for end for end for return (5

6、) end MATCHAIN3(14分) 下面是用回溯法求解马的周游问题的算法。马的周游问题:给出一个nxn棋盘,已知一个中国象棋马在棋盘上的某个起点位置(x0, y0),求一条访问每个棋盘格点恰好一次,最后回到起点的周游路线。(设马走日字。)算法 HORSETRAVEL 输入:正整数n,马的起点位置(x0, y0),1=x0, y0=n 。输出:一条从起点始访问nxn棋盘每个格点恰好一次,最后回到起点的周游路线;若问题无解,则输出no solution。tag1.n, 1.n=0 dx1.8=2, 1, -1, -2, -2, -1, 1, 2dy1.8=1, 2, 2, 1, -1, -2

7、, -2, -1 flag=false x=x0; y=y0 ; tagx, y=1 m=n*n i=1; ki=0 while (1) and not flag while kihigh (3) Amid=mid (4) mid+1, high (5) find(low, mid-1)2. (1) 0 (2) i+d (3) Ci, k-1+Ck, j+ri*rk*rj+1 (4) Ci, j (5) C1, n3. (1) i=1 (2)ki+1 (3) 1 (4) i+1 (5) ki=0 (6) tagx, y=0 (7) x=x-dxki; y=y-dyki四. 算法设计题:1. 贪

8、心选择策略:从起点的加油站起每次加满油后不加油行驶尽可能远,直至油箱中的油耗尽前所能到达的最远的油站为止,在该油站再加满油。算法 MINSTOPS输入:A、B两地间的距离s,A、B两地间的加油站数n,车加满油后可行驶的公里数m,存储各加油站离起点A的距离的数组d1.n。输出:从A地到B地的最少加油次数k以及最优解x1.k(xi表示第i次加油的加油站序号),若问题无解,则输出no solution。 dn+1=s; /设置虚拟加油站第n+1站。 for i=1 to n if di+1-dim then output “no solution”; return /无解,返回end if end for k=1; xk=1 /在第1站加满油。 s1=m /s1为用汽车的当前油量可行驶至的地点与A点的距离 i=2 while s1s1 then /以汽车的当前油量无法到达第i+1站。 k=k+1; xk=i /在第i站加满油。 s1=di+m /刷新s1的值end ifi=i+1 end while output k, x1.kMINSTOPS最坏情况下的时间复杂性:(n)

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服