- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 减治法 减治技术利用了一种关系:一个问题给定实例的解和同样问题较小实例的解之间的关系。一旦建立了这样一种关系,我们既可以从顶至下(递归地),也可以从底至上(非递归地)地来运用。减治法有3种主要的变种: 1) 减去个常量 2)减去个常数因子 3) 减去的规模是可变的 减治法和分治的区别,如减治法 分治法 5.1 插入排序 用减一技术来对数组排序遵循这样的思路,先假设对较小数织 A[0,1,…,n-2]排序的问题已经解决了。下一步所需要做的就是在这些有序的元素中为A[n-1]找到一个合适的位置,然后把它插入到那里. 有3种合理的做法可以达到这个目的,它们各不相同。 第一,从左到右扫描这个有序的子数组,直到遇到第一个大于等于A[n-1]的元素,然后就把A[n-1]插在该元素的前面。 第二,从右到左扫描这个有序的子数组。这两种种算法被称为直接插入排序,或者简称为插入排序。 第三种做法是使用折半查找。 最坏输入是一个严格递减的数组,这种输入的比较次数是 最好的情况下(升序),在外部循环的每次送代中,比较操作只执行一次 平均 5.2深度优先查找和广度忧先查找 什么叫图的遍历从图的任意点出发沿着一些边访问图中的所有顶点,且使每个顶点仅被访问一次,这就叫图的遍历. 我们来看一下图的遍历的两种方法:1.深度优先搜索 2.广度优先搜索 图和链接链表 5.2.1深度优先搜索 方法:从图中指定的起点v0出发(先访问v)访问它的任意相邻接的顶点w1,再访问w1的任一个未访问的相邻接顶点w2,如此下去,直到某顶点已无被访问过的顶点,则返回一步找前一个顶点的其他沿未被访问的邻接顶点,重复以上过程直到所有的顶点都被访问. DFS具体做法---用栈来跟踪深度优先查找的操作 根据顶点的字母顺序来选择顶点作标记,紧接着处理与当前顶点邻接的未访问顶点,这个过程 持续,直到遇到一个死端---一个无法通向未访问邻接顶点的顶点。 在第一次访问一个顶点的时候,我们把该顶点入栈(也就是说,开始对该顶点访问时),当它成为一个死端的时候,我们把它出栈(也就是说,结束对这顶点的访问时) 5.2.2 广度优先搜索 方法:从图指定的起点v0出发,访问与它相邻的所有顶点w1,w2,.....然后再依次访问w1,w2......邻接的尚未被访问的所有顶点,再从这些顶点出发访问与它们相邻接的尚未被访问的顶点,直到所有顶点均被访问过为止. 它按照一种同心圆的方式,首先访问所有和初始顶点邻接的顶点,然所是离它两条边的所有未访问顶点,以此类推,直到所有与初始顶点同在一个连通分量中的顶点都访问过了为止。如果仍然存在未被访问的顶点,该算法必须从图的其他连通分星中的任意顶点重新开始。 使用队列(注意它和深度优先查找的区别)来跟踪广皮优先查找的操作是比较方便的。该队列先从遍历的初始顶点开始,将该顶点被标记为已访问。在每次迭代的时候,该算法找出所有和队头顶点邻接的未访问顶点,把它们标记为己访问,再把它们入队:然后,将队头顶点从队列中移去。 5.3 拓扑排序 有向图的DFS森林可能具有的全部类型的边:树向边(ab,bc,de)、从顶点到祖先的回边(ba)、从顶点到树中非子女子孙的前向边(ac),以及交叉边(de),所有不属于前三种类型的边都属于交叉边类型。 用有向图来建模,如课程表,它的顶点代表课程,有向边表示先决条件。按照这种次序列出它的顶点,使得对于图中每一条边来说,边的起始顶点总是排在边的结束顶点之前。这个问题称为拓扑排序。 第二种算法基于减(减一)治技术的一个直接实现:不断地做这样—件事,在余下的有向图中求出一个源,它是一个没有输入边的顶点,然后把它和所有从它出发的边都删除。 5.4 生成组台对象的算法 组合问题 1、计数 2、结构 组合问题 5.4.1 生成排列 用减一思想生成{1,2,…,n}所有排列。 Johnson-trotter算法 字典序---增序排队 5.4.2 生成子集 1、挤压序: 所 2、是否存在—种生成比特串的最小变化算法,使得每一个比特串和它的直接前趋之间仅仅相差一 个比特位。 5.5 减常因子算法 5.5.1 假币问题 在识别假币问题的多
您可能关注的文档
- 18001内审员培训.ppt
- 4课散文两篇.ppt
- 4静态测量.ppt
- 18.竹影讲ppt.ppt
- 5 最优化-二次规划.ppt
- 5 饭店组织管理.ppt
- 5 -6 随从工作.ppt
- 1840~1894侵略与抗争(两次鸦片战争与太平天国运动).ppt
- 18001标准讲解.ppt
- 18、天然气作燃料.ppt
- 2025届安徽省蚌埠田家炳中学高考语文考前最后一卷预测卷含解析.doc
- 建筑物智能化门禁系统设计与施工规范.pptx
- 建筑物室内空气质量检测仪器采购指南.pptx
- 2025届安徽省蚌埠铁路中学高考冲刺英语模拟试题含解析.doc
- 2025届安徽省蚌埠市重点中学高考适应性考试英语试卷含解析.doc
- 2025届安徽省蚌埠铁中高三3月份第一次模拟考试英语试卷含解析.doc
- 2025届安徽省蚌埠铁路中学高三(最后冲刺)数学试卷含解析.doc
- 2025届安徽省蚌埠铁路中学高考语文四模试卷含解析.doc
- 2025届安徽省蚌埠铁中高考语文倒计时模拟卷含解析.doc
- (人教2024版)物理八年级下册 第十一章 功和机械能 单元解读课件.pptx
文档评论(0)