- 1、本文档共85页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]图论-数学建模
插入点 v2,得: 矩阵中带“=”的项为经迭代比较以后有变化的元素. 插入点 v3,得: 插入点 v4,得: 插入点 v5,得: 插入点 v6,得: 故从v5到v2的最短路为8 由v6向v5追溯: 由v6向v2追溯: 所以从到的最短路径为: 注释: 查找最短路路径的方法. 然后用同样的方法再分头查找.若: §4 树 4.1 基本概念 连通的无圈图叫做树,记之为T。 4.2 应用—连线问题 欲修筑连接n个城市的铁路,已知城与城之间的铁 路造价为 ,设计一个线路图,使总造价最低。 连线问题的数学模型是在连通赋权图上求权最小 的生成树。赋权图的具有最小权的生成树叫做最小生 成树。 定理 设G是具有n个顶点的图,则下述命题等价: 1) G是树( G无圈且连通); 2) G无圈,且有n-1条边; 3) G连通,且有n-1条边; 4) G无圈,但添加任一条新边恰好产生一个圈; 5) G连通,且删去一条边就不连通了(即G为最 最小连通图); 6) G中任意两顶点间有唯一一条路. 找图中生成树的方法 可分为两种:避圈法和破圈法 A 避圈法 : 深探法和广探法 B 破圈法 A 避圈法 这种方法就是在已给的图G中,每步选出一条边使它与已选边不构成圈,直到选够n-1条边为止. 这种方法可称为“避圈法”或“加边法” 在避圈法中,按照边的选法不同,找图中生成树的方法可分为两种:深探法和广探法. a) 深探法 若这样的边的另一端均已有标号,就退到标号为 步骤如下: i) 在点集V中任取一点u, ii) 若某点v已得标号,检 端是否均已标号. 若有边vw之w未标号,则给 w代v,重复ii). i-1的r点,以r代v,重复ii),直到全部点得到标号为止. 给以标号0. 查一端点为v的各边,另一 w以标号i+1,记下边vw.令 0 1 2 3 4 5 6 7 8 9 10 11 12 13 例用深探法求出下图10的一棵生成树 b)广探法 步骤如下: i) 在点集V中任取一点u, ii) 令所有标号i的点集为 是否均已标号. 对所有未标 号之点均标以i+1,记下这些 iii) 对标号i+1的点重复步 步骤ii),直到全部点得到 给u以标号0. Vi,检查[Vi,V\Vi]中的边端点 边. 例用广探法求出下图10的一棵生成树 标号为止. 图10 3 1 0 1 2 2 1 3 2 1 2 2 3 4 B 破圈法 相对于避圈法,还有一种求生成树的方法叫做“破圈法”. 这种方法就是在图G中任取一个圈,任意舍弃一条边,将这个圈破掉,重复这个步骤直到图G中没有圈为止. 例 用破圈法求出 下图的一棵生成树. 图的生成树不是唯一的 . A Kruskal算法(或避圈法) 步骤如下: 1) 选择边e1,使得w(e1)尽可能小; 2) 若已选定边 ,则从 中选取 ,使得: i) 为无圈图, ii) 是满足i)的尽可能小的权, 3) 当第2)步不能继续执行时,则停止. 定理4 由Kruskal算法构作的任何生成树 都是最小树. 最小生成树与算法 例 用Kruskal算法求下图的最小树. 在左图中 权值 最小的边有 任取一条 在 中选取权值 最小的边 中权值最小边有 , 从中选 任取一条边 会与已选边构成圈,故停止,得 中选取在中选取 中选取 . 但 与 都 B破圈法 算法2 步骤如下: 1) 从图G中任选一棵树T1. 2) 加上一条弦e1,T1+e1中 立即生成一个圈. 去掉此 圈中最大权边,得到新 树T2,以T2代T1,重复2)再 检查剩余的弦,直到全 部弦检查完毕为止. 例 用破圈法求下图的最小树. prim算法构造最小生成树 设置两个集合P和Q,其中P用于存放的最小生成 树G中的顶点,集合Q存放的最小生成树G中的边。令 集合P的初值为 (假设构造最小生成树时,从 顶点 出发),集合Q的初值为 。 prim算法的思想是,从所有 , 的边 中,选取具有最小权值的边 ,将顶点v加入 集合P中,将边pv加入集合Q中,如此不断重复,直 到 P=V 时,最小生成树构造完毕,这时集合Q中包 含了最小生成树的所有边。 例11 用prim算法求右图的最小生成树。 我们用的第一、二
文档评论(0)