- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 算法设计PPT
第1章 算法设计《算法分析与复杂性理论》第1节 算法设计的基本策略int Exhaustivity(){ while (还有需要列举的可能解) { 列举下一个可能解A; if (A满足所有相关约束条件) 输出A; } return 0;}穷举法盒子里的气球问题在一个盒子里有n个充气点(n≤6),从充气点充起的气球碰到边缘或别的气球时即停止充气。按照什么顺序依次充气,气球占据的空间最大?6! = 720子集的列举问题已知一个不重复整数集合S,|S|≤32,试列举出S的所有子集。例如,当S={1, 2, 3}时,S的所有子集如下:{ }, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}000 -- { }001 -- {1}010 -- {2}011 -- {1, 2}100 -- {3}101 -- {1, 3}110 -- {2, 3}111 -- {1, 2, 3}第1节 算法设计的基本策略int BackTrack(){ Node = 初始问题状态结点; while (尚未从根结点回溯) { ChildNode = Node的下一个满足约束条件的子结点; if (ChildNode != null) { Node = ChildNode; if (Node是解结点) { 输出解结点Node; Node退回父结点(回溯); } else { 为搜索Node的子结点做准备; } } else { Node退回父结点(回溯); } } return 0;}回溯法N后问题{}{}{1}{}{5}{1}{1,5}{}{12}{5}{5,12}{1}{1,12}{1,5}{1,5,12}{}{14}{12}{12,14}{5}{5,14}{5,12}{5,12,14}{1}{1,14}{1,12}{1,12,14}{1,5}{1,5,14}{1,5,12}{1,5,12,14}子集和问题设W={1,5,12,14}不等式问题求满足下列不等式的所有整数解:??令:x3’=4-x3,则1≤x3’ ≤3,代入上式得:?()5×25×35×15×1+4×25×1+4×35×1+4×15×1+4×1-25×1+4×1-35×1+4×1-1第1节 算法设计的基本策略int BoundPruning(){ T = 初始问题状态结点; 初始化优先队列Q; U = u(T); // u为上界函数 计算~C(T),并将T入队; // ~C为下界函数 while (!Empty(Q)) { e = DeQueue(Q); if (e是解结点) { 输出e或求解路径; return 0; } else if (~C(e) = U) { for (e的所有满足约束条件的子结点x) { if (~C(x) = U) { EnQueue(x); if (u(x) U) U = u(x); }}}} return 0;}限界剪枝法C(x) = min{D(y)|y∈Tx∩A}x C(x) = ∞D(y2)xy2D(y1)y1第1节 算法设计的基本策略Divide_and_Conquer(P){ if (|P|足够小) return Answer(P); Divide P into (P0, P1, .., Pk-1); foreach (Pi) ai = Divide_and_Conquer(Pi); return Merge(a0, a1, .., ak-1);}分治法Gray码的构造问题Gray码是一个长度为2n的序列,序列中无相同元素,每个元素都是长度为n位的(0, 1)串,相邻元素恰好只有一位不同。设计一个算法对任意的n构造相应的Gray码。例如,Gray(3)如下:000, 001, 011, 010, 110, 111, 101, 100设n位Gray码序列为G(n),则G(1) = {0, 1}定义G(n)以相反顺序排列的序列为G-1(n),则:G(n+1)={ 0G(n), 1G-1(n) }G(n)的最后一个元素,就是G-1(n)的第一个元素。0100011011马的Hamilton周游路线问题结构化的Hamilton回路子棋盘的拼接子棋盘的拼接第1节 算法设计的基本策略DynamicProgramming(){ 构造子问题空间; 初始化叶子结点; 从叶子结点向上递推各子问题的最优值直到根结点,并记录计算轨迹; 根据计算轨迹推导最优解;}动态规划最长单调递增子序列问题在长度为n的序列S中找出最长单调递增子序列。例如,当S=(5, 2, 4, 6, 5, 1, 8)时,一个最长单调递增子序列为(2, 4, 5, 8)。设S=(S0, S1, .., Sn-1),定义bi表示以Si为最尾元素的最长单调
您可能关注的文档
- 清华大学马连荣03函数极限PPT.ppt
- 消费者购买行为理论PPT.ppt
- 游戏作文片段PPT.ppt
- 深圳湾一号圈层营销主导的阶段策略PPT.ppt
- 游戏作文贴鼻子PPT.ppt
- 浠水县南北河农业产业园初步定位PPT.ppt
- 消化系统--liuPPT.ppt
- 深化行政体制改革 建设服务型政府(党校主体班)PPT.ppt
- 游戏画鼻子课件PPT.ppt
- 深化新课程改革培训PPT.ppt
- 精品解析:2025年江苏省连云港市赣榆区中考一模化学试题(原卷版).docx
- 第14课《行路难》课件-2024-2025学年统编版语文九年级上册.pptx
- 精品解析:2025年安徽省合肥市包河区中考一模化学试题(解析版).docx
- 第14课+辽宋夏金元时期的科技与文化(课件)2024-2025学年七年级历史下册5E教学课件(统编版2024).pptx
- 3.18++清朝的边疆治理++课件++2024--2025学年部编版七年级历史下学期.pptx
- 第15课《我一生中的重要抉择》课件-2024-2025学年八年级语文下册同步备课精选优质课件(统编版).pptx
- 第16课《庆祝奥林匹克运动复兴25周年》课件-2024-2025学年八年级语文下册同步备课精选优质课件(统编版).pptx
- 题型02+材料分析(二轮突破课件)2025年中考生物二轮复习讲练测(广东专用).pptx
- 第19课+清朝君主专制的强化【任务驱动型课堂】2024-2025学年七年级历史下册同步教学课件(统编版2024).pptx
- 第20讲+国防建设与外交成就(课件)-【历史开讲啦】2025年中考历史一轮复习课件(统编版).pptx
文档评论(0)