- 1、本文档共199页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9.1.3(2) 练习一 2、地图四色:用不超过四种的颜色给一个地图染色,使得相邻的两个地区所着的颜色各不相同。 3、最小部分树。 ? 有一个城市分为N个区,现要在各区之间铺设有线电视线路。任意两个区之间铺设线路的费用如下图所示,其中图的顶点表示各个区,线旁的数字表示铺设该条线路的费用。要求设计一个费用最省的铺线方案使得每一个区均能收看到有线电视 分析:(1)这个问题实际上是求图的最小部分树。因为每一个区均能收看到有线电视,所以该图是连通的;又因为要求费用最省,所以该图无圈。 ??? (2)求图的最小部分树常用Prim算法(也称加边法)和Kurskal算法(也称破圈法) 这里介绍的是Prim算法。具体操作如下: ???? (a)去掉图中所有的线,只留下顶点; ???? (b)从图中任意选出一个点加入集合S1,余下的点划入集合S2; ???? (c)从所有连接集合S1与S2的点的线中选一条最短的加入图中,并将该线所连的集合S2中的点从集合S2中删去,加入集合S1中; ???? (d)重复步骤c,直至往图中加入N-1条边(N为顶点的个数)。 4、一笔画:编一个程序对给定的图进行一笔画。 分析:图的一笔画是指从图的某一个顶点出发,经过图中所有的边一次且仅一次。现由文本文件读入一个图的邻接矩阵,判断该图能否一笔画,若能,则给出一笔画的方法。 分析:一笔画是图论中研究得比较早的一个问题,一个图能够一笔画的条件是: ?? (1)该图是一个连通图; ?? (2)该图至多有2个度为奇数的点。 这里所说的度是指与一个点相连的边的数目,如果边的条数是奇数,则该点的度是奇数,否则是偶数。 9.1.3(3) 练习一 ?? 在一笔画问题中,如果连通图所有的点的度均为偶数,则一笔画时可以从任意一点出发,最后又能回到起点。如果有两个点的度为奇数,则一笔画时,一定是从一个奇数度的点出发,最后到达另一个奇数度的点。此外,在连通图中,奇数度的点总是成对出现的。一笔画所经过的路线又叫欧拉路(如果是回路的话,也叫欧拉回路)。 ??? 找欧拉路(或回路)可以用Fleury算法,如下: ??? (1)找一个出发点P(如果图中有两个奇数度的点话,任取其一)。 ??? (2)找一条与P相连的边,伸展欧拉路(选边的时候应注意,最后再选取断边;断边是:当去掉该边后使得图不连通的边)。 ??? (3)将选出的边所连的另一个点取代P,去掉该边,重复(2),直至经过所有的边。 5、哈密尔顿问题。 ? 哈密尔顿问题是指在一个图中找出这样的一条路:从一个图的顶点出发,经过图中所有顶点一次且仅一次。象这样的路称为哈密尔顿路。现由文本文件读入一个图的邻接表,判断该图是否有哈密尔顿路,若有则输出。 6、图的关节点。 ?? 如果从一个连通图中删去某点V,使得该图不连通,那么V点就称为该图的一个关节点。现从文本文件中读入一个图的邻接矩阵,试编程找出该图所有的关节点。 有一集团公司下有N个子公司,各子公司由公路连接,现要在N个子公司中选一个出来成立总装车间,装配各子公司送来的部件,且使得各子公司到总装车间的路程总和最小。 第二节 动态规划 动态规划是近来发展较快的一种组合算法,是运筹学的一个分支,是解决多阶段决策过程最优化的一种数学方法。我们可以用它来解决最优路径问题,资源分配问题,生产调度问题,库存问题,装载问题,排序问题,设备更新问题,生产过程最优控制问题等等。 ?? 在生产和科学实验当中,有一类活动的过程,可将它分成若干个阶段,在它的每个阶段要作出决策,从而使全局达到最优。当各个阶段决策确定后,就组成一个决策序列,因而也就决定了整个过程的一条活动路线。这种把一个过程看作一个前后相关具有链状结构的多阶段过程就称为多阶段决策过程。 ?? 所谓动态是指在多阶段决策问题中,各个阶段采取的决策,一般来说是与时间有关的,决策依赖于当前的状态,又随即引起状态的转移,一个决策序列就是在变化的状态中产生,故有动态的含义。 ?? 下面,我们结合最短路径问题来介绍动态规划的基本思想。 ?? 求下图中点O到点U的最短距离(假设只许往上和往右走)。 9.2(2) ??? 从点O到点U,可以按经过的路径,分成七个阶段,分别为:O-AB-CDE-FGHJ- KLMN-PQR-ST-U。 ?? 最短路径有一个重要特性:如果点O经过点H到达点U是一条最短路径,则在这条最优路径上由点H出发到达点U的子路径,是由点H出发到达点U所有可能选择的不同路径的最短路径(证明略)。根据这一特点,寻找最短路径的时候,可以从最后一段开始,用由后向前逐段递推的方法,求出个点到点U的最短路径。 ?? 如若考虑到从点O到点U的最短路径,也是该路径上个点到点的最短路径,令O
文档评论(0)