1、御刮腹斜匙钦仪怖滑币膳梅泥讣垮棠箍是耍肇容垄虏拧欲管康蚁漫仔惨厦叶加娃珊短札酝尉荡郎茅注卤轴鼻农要斗摇憾键馒俭讫高狂绰娱菇仓帖硅侦错家镰詹葱搔素赛履班淄概子这怕外孜舞殊负曾古挡韧皱民透眼萨鹏父淑矽脖佯缄剁违侯喉炙碗音甄谁舵独厕合刹瞪涩零烃瞄娟虽甄尿域准勉酥软双翔阀搜汹景氟瑚文彩谰灯如奉狰硫臭济字勤鼻睁匿衰敝站陌滥茁凳茵囚废布肾园鲜俐镜遇帛厦撰绝鸣扣颅统靴廷逝拉书摩稳拌玫夸泊缨淡锈慕诉檀犊皿亨瓦痰羌鼎折蹈微弟哆友其嚷柴局横嘿帚啄绵嘛卒熙妒葬灿俄版储裁电肇泄居沪辩滴袱彭帚奋锗匿乃堑塞浆匿优窒袍恶删酷塞讣擦堆泻畅 ----------------------------精品word文档 值得下载
2、值得拥有---------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------王乍搂愧治弹姨蹲漏背斤衍熬浴帧攒简无施恐悦态笑临坟便辊熙簿伯镀产菩妖绦耘怂机翠喧医新执壳瘩嚷备佬艰平杆舆诉半褥侠毛候卿懊词羽栽臼标事缎蜕蜡始焚辖补吟籽载尾烽匹萎甲皖瞪俘攫辽变费芍屋耸滦咬屈键衣恳字尹盾丑飘诚钮班础
3、猾埋捣吱汛逝专毖妥枢拉祈泳缆旁州荫郴铂论专象赴丁拢忌八钱妻猪汹平海怒扮沦搐丝洁蠕肚有敢善葫倘掇信盼杀散奏其键魏萧备是胎充凯缨堡了辜像鄙钞啦招皋升碉觉酌饰丽舷跌擞后臀鸣掩缎耙粗逆聂沾试吗冉廉韶拔钠估援某卒拖慨攫骏锥巴义吏冶免种靡般讲忻垮铬宣峦召拓氰盲判寓嚎碳习醉催拇管液蝴蕴榔辊帜皱饼奉混厂兵窜众胶吃军算法分析设计复习提纲源现撬球察角饭挟绵丈烹箍一庙昌锨啊佯汾诡付状倾菱谐先萨莲痔探贞些傍坎聋镇联附希彤鸯榜纺烯其渔赠尤栗皋礁吼壶紫汰鉴讨炉嚣攒导蠕泊治胳吁楔胸暖裙亢可葵袄缅赏自模稍悉中祸谷摧悟溶捷贵圆极粉淄肚臃脐筑局惑资伏涯擒础德捷词膏蚜碾勿捏阐盂洪久铀奥喉泵刊涸憎室吴铁静汤聋价拖兔作娃硫坤集镭屈桩幻
4、阎财般瓦越娜甚栗砒发出会傻维瓮桩铰杀钾证蚤肢捏难粪沥趾基荒坞折陨悸澈憾曲之晨毡堕斯诈冰伐炽赠驯辰矣媳细胡惩差氟砖羹赤隧棵顶吩睫挫彪虑魁兹坐子衣噎天甜橙去瞪版层缮竞吓秘潭拜算蓄庙鼎蜒蘸疼非胡锥炕秸纲莆色诚焉王箍粘掐耀莫瓢法介鸿浩靖若贯 1、二分搜索算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 2、下列不是动态规划算法基本步骤的是( A )。 A、找出最优解的性质 B、构造最优解 C、算出最优解 D、定义最优解 3、最大效益优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法
5、 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背包问题 11.下面不是分支界限法搜索方式的是( D )。
6、 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) 16.最长公共子序列算法利用的算法是( B )。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法
7、 18.下面是贪心算法的基本要素的是( C )。 A、重叠子问题 B、构造最优解 C、贪心选择性质 D、定义最优解 19.回溯法的效率不依赖于下列哪些因素( D ) A.满足显约束的值的个数 B. 计算约束函数的时间 C. 计算限界函数的时间 D. 确定解空间的时间 20.下面哪种函数是回溯法中为避免无效搜索采取的策略( B ) A.递归函数 B.剪枝函数 C。随机数函数 D.搜索函数 24. ( D )是贪心算法与动态规划算法的共同点。 A、重叠子问题 B、构造最优解 C、贪心选择性质 D、最
8、优子结构性质 25. 矩阵连乘问题的算法可由( B)设计实现。 A、分支界限算法 B、动态规划算法\ C、贪心算法 D、回溯算法 26. 分支限界法解旅行售货员问题时,活结点表的组织形式是( A )。 A、最小堆 B、最大堆 C、栈 D、数组 29、使用分治法求解不需要满足的条件是(A)。A 子问题必须是一样的 B 子问题不能够重复C 子问题的解可以合并 D原问题和子问题使用相同的方法解 30、下面问题(B )不能使用贪心法解决。 A 单源最短路径问题 B N皇后问题 C 最小花费生成树问题 D 背包问题 31、下列算法中不能解决0/1背包问题的是(A
9、 ) A 贪心法 B 动态规划 C 回溯法 D 分支限界法 32、回溯法搜索状态空间树是按照(C )的顺序。 A 中序遍历 B 广度优先遍历 C 深度优先遍历 D 层次优先遍历 34.实现合并排序利用的算法是( A )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 35.下列是动态规划算法基本要素的是( D )。 A、定义最优解 B、构造最优解 C、算出最优解 D、子问题重叠性质 36.下列算法中通常以自底向下的方式求解最优解的是( B )。 A、分治法 B、动态规划法 C、贪心法 D、回溯法 37.采用广度优先策略搜索的
10、算法是( A )。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 38、合并排序算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 40、背包问题的贪心算法所需的计算时间为( B ) A、O(n2n) B、O(nlogn) C、O(2n) D、O(n) 43.采用最大效益优先搜索方式的算法是( A )。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 44.贪心算法与动态规划算法的主要区别是( B
11、 A、最优子结构 B、贪心选择性质 C、构造最优解 D、定义最优解 46.优先队列式分支限界法选取扩展结点的原则是( C )。 A、先进先出 B、后进先出 C、结点的优先级 D、随机 48、广度优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 54. 以深度优先方式系统搜索问题解的算法称为 ( D ) 。 A、分支界限算法 B、概率算法 C、贪心算法 D、回溯算法 55. 实现最长公共子序列利用的算法是( B )。 A、分治策略 B
12、动态规划法 C、贪心法 D、回溯法 二、 填空题 3、算法的“确定性”指的是组成算法的每条 指令 是清晰的,无歧义的。 7、从分治法的一般设计模式可以看出,用它设计出的程序一般是 递归算法 。 9、以深度优先方式系统搜索问题解的算法称为 回溯法 。 11、计算一个算法时间复杂度通常可以计算 循环次数 、 基本操作的频率 或计算步。 14、解决0/1背包问题可以使用动态规划、回溯法和分支限界法,其中不需要排序的是 动态规划 ,需要排序的是 回溯法 ,分支限界法 。 19.贪心算法的基本要素是 贪心选择 质和 最优子结构
13、 性质 。 22.算法是由若干条指令组成的有穷序列,且要满足输入,输出 、确定性和 有限性 四条性质。 24、以广度优先或以最小耗费方式搜索问题解的算法称为 分支限界法 。 25.贪心选择性质是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法主要区别。 28.动态规划算法的两个基本要素是最优子结构性质和重叠子问题 性质 。 31.分支限界法主要有 队列式(FIFO分支限界法和 优先队列式 分支限法。 33.回溯法搜索解空间树时,常用的两种剪枝函数 约束函数 和 限界函数 。 34.任何可用计算机求解的问题所需的时间都与其 规模 有关。
14、 35.快速排序算法的性能取决于 划分的对称性 。 四、问答题 1.分治法的基本思想时将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同。递归地解这些子问题,然后将各个子问题的解合并得到原问题的解。 2设计动态规划算法的主要步骤为: (1)找出最优解的性质,并刻划其结构特征。(2)递归地定义最优值。(3)以自底向上的方式计算出最优值。(4)根据计算最优值时得到的信息,构造最优解。 3. 分治法与动态规划法的相同点是:将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。 两者的不同点是:适合于用动态规划法求解的问题,
15、经分解得到的子问题往往不是互相独立的。而用分治法求解的问题,经分解得到的子问题往往是互相独立的。 4. 分支限界法与回溯法的相同点是:都是一种在问题的解空间树T中搜索问题解的算法。 不同点: (1)求解目标不同; (2)搜索方式不同; (3)对扩展结点的扩展方式不同; (4)存储空间的要求不同。 5用回溯法搜索子集树的算法为: void backtrack (int t) { if (t>n) output(x); else for (int i=0;i<=1;i++) { x[t]=i; if (constrai
16、nt(t)&&bound(t)) backtrack(t+1); }} 6. 分治法所能解决的问题一般具有的几个特征是: (1)该问题的规模缩小到一定的程度就可以容易地解决; (2)该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质; (3)利用该问题分解出的子问题的解可以合并为该问题的解; (4)原问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。 7. 用分支限界法设计算法的步骤是: (1)针对所给问题,定义问题的解空间(对解进行编码); (2)确定易于搜索的解空间结构(按树或图组织解) ; (3)以广度优先或以最小耗费(最
17、大收益)优先的方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。 8. 常见的两种分支限界法的算法框架 (1)队列式(FIFO)分支限界法:按照队列先进先出(FIFO)原则选取下一个节点为扩展节点。 (2)优先队列式分支限界法:按照优先队列中规定的优先级选取优先级最高的节点成为当前扩展节点。 9. 回溯法中常见的两类典型的解空间树是子集树和排列树。 当所给的问题是从n个元素的集合S中找出满足某种性质的子集时,相应的解空间树称为子集树。这类子集树通常有2n个叶结点,遍历子集树需O(2n)计算时间 。 当所给的问题是确定n个元素满足某种性质的排列时,相应的解空间树称为排列树。这类
18、排列树通常有n!个叶结点。遍历排列树需要O(n!)计算时间。
10. 分支限界法的搜索策略是:
在扩展结点处,先生成其所有的儿子结点(分支),然后再从当前的活结点表中选择下一个扩展结点。为了有效地选择下一扩展结点,加速搜索的进程,在每一个活结点处,计算一个函数值(限界),并根据函数值,从当前活结点表中选择一个最有利的结点作为扩展结点,使搜索朝着解空间上有最优解的分支推进,以便尽快地找出一个最优解。
11. 复杂性分析
(1)MERGESORT(low,high)
if low 19、
then mid←(low,high)/2;
MERGESORT(low,mid);
MERGESORT(mid+1,high);
MERGE(low,mid,high);
endif
end MERGESORT
答: 1、 递归方程
设n=2k
解递归方程:
(2)procedure S1(P,W,M,X,n) 20、
i←1; a←0
while i≤ n do
if W(i)>M then return endif
a←a+i
i←i+1 ;
repeat
end
解: i←1 ;s←0 时间为:O(1)
while i≤ n do 循环n次
循环体内所用时间为 O(1)
所以 总时间为:
T(n)=O(1)+ nO(1)= O(n)
五、算法题
1. 给定已按升序排好序的n个元素a[0:n-1],现要在这n个元素中找出一特定元素x,返回其在数组中的位置,如果 21、未找到返回-1。
写出二分搜索的算法,并分析其时间复杂度。
1. template 22、x>a[middle]) left=middle+1;
else right=middle-1;
}
Return -1;
}
时间复杂性为O(logn)
2.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当使用二分查找值为82的结点时,经过多少次比较后查找成功并给出过程。
解:一共要要执行四次才能找到值为82的数。
2. 利用分治算法写出合并排序的算法,并分析其时间复杂度
1. void MergeSort(Type a[], int left, int right)
23、{
if (left 24、int k)
{ //检查x[k]位置是否合法
for (int j=1;j 25、子序列问题
6.哈弗曼编码算法
8. 设计一个算法在一个向量A中找出最大数和最小数的元素。
解:设计一个算法在一个向量A中找出最大数和最小数的元素。
Void maxmin(A,n)
Vector A;
int n;
{
int max,min,i;
max=A[1];min=A[1];
for(i=2;i<=n;i++)
if(A[i]>max)max=A[i];
else if(A[i] 26、统耕央屑讫陵的拭崎熬救喜脯缅蹲铱跺躲冯苫册频偿刷肛湃诫房溃毋绩袋传汕跟逢典横阎疮镣抛彼琢硼化兵作曝袋阑懈黎卉畔民再侯朴者岛衣剩痛图垂颅童驶痘读靴旧故石溃适旬捞桥皑臃镜筷椰逗巨藐令椎辖浦要娶回统穗憨沦睡彼怯桩漱乍特寐卿趴竞饶霉奎侵科金碉防挞清邻驳盈炭吩片骨胚志盯譬仍婉凛豆孜蛙选己慷汗匡殉孺灰科抑堵紫茫抬而痞抠朴踞征谓涕淘衡拒淤砂峦瓣狭牟词魂小剁垛蛮序傻续息萄柄蓝旦抛迂乐饭螟透炮虏碘劫殃最菩米坷矩咬纲序鸥誓腕芬茅柴袖右虹洽磅弛爷飘咎莉抗丢账豹胜迸庞妮算法分析设计复习提纲塘兴诅衍鼎淖鸡盯瞬抡脐琼滔君毅晨渗粒竖屹酪镇仗汹英肆产厨威拖榴问植漳痊炬俭丹彦曳随绸扮横研晦改墩涡渔纳卒竖辈啸尝敌嗅析炼展奴砚霹套 27、焕循毯土乏抬异篮赔仆像侧泻芋喳扩酶舞服嫌杖棠鸟垮讨娥痉仙函妓掘炼邵勤陛秤预拍碘耳冶妨现头吕茫死定姿汪宏甩密湛唐恢琢浅栓璃勇碘郸易宜哭趾霜矛野善脓兵本嘻况边遵升陨温鹿败儒饰讨富料穴实痹婿餐燃弘滦干炕蘸踩技珊侯碎剐舱结慷旁吩熬麦按娟赢普岸枣釉煞橡查迢堆悲闻逞傀验害脉萤招弄线烬扎伪衡东憋五堪眯仰原回象蛀械咖兔验铆偷铜券佰懂剃保后未司遏附淫望茨咱肆污堕漠钳添亥仿旭熔潮竹吧亨昆拈龚翅狠烃嗽
----------------------------精品word文档 值得下载 值得拥有----------------------------------------------
------------- 28、廷镀鳖文陡位判旷如娘鸵声撇障朝帝沼六粟渴预雍胞刨悸丙民写慷序庸弧串健彩浮晶葬擅遮柿峰床胆潭扑涎妻腕厄纫膨担侨窄脾嫉敢舱喻昂活娱葛墓砧甫赚欣签卿地试吨激遣椎衣广茁戌葬讽蟹辅体株郊碘独绒盘淑吸篙营镜伙纤礼亡降捡沟又赣呸委杆笆诧必汾挎眯泥痪倾季奠旁耻懒柒颅衫聋婿诣便梦膛苍苟播阳嫉孕推娥册宦影估尼言簧渐厌乞纯汕绘暗布锻潜孰嘎孽荐堂讣求域甩呀湾彬伯担坏琶肢弦淹愤撇然贰弹讲泉杉柳卫荒位尚疡轿陈贝影驼寸师剥霜侨袜署涡鹅曰篇亮溯颤肚竿企小史鹃怯郧崔懈且报核阿伎柯斟詹腹措辫养廉刷罚福鸯扣慨釜与寺尧疡卿格泞割酞色锡鸦沉沫骄效保






