- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最小度限制生成树的定义 设G=(V,E,ω)是连通的无向图,v0 ∈V是特别指定的一个顶点 , k为给定的一个正整数。V0在T中的度为DT(v0)。 如果T是G的一个生成树且DT(v0) =k,则称T为G的k度限制生成树。G中权值和最小的k度限制生成树称为G的最小k度限制生成树。 概 念 T为图G的一个生成树,a,b是G的边,T+a-b记作(+a,-b),如果T+a-b仍然是一个生成树,则称(+a,-b)是T的一个可行交换。 T为图G的一个生成树,由T进行一次可行交换得到的新的生成树所组成的集合,称为T的邻集,记为N(T)。 定 理 定理:设T是图G的最小k度限制树,E0是G中与v0有关联的边的集合, E1=E0\E(T), E1即是和V0相连,但是不在T中的边的集合 E2=E(T)\E0, E2即是T中不和V0相连的边的集合 A={(+a,-b)| a∈E1,b∈E2} 设ω(a’)-ω(b’)=min{ω(a)-ω(b)| (+a,-b)∈A},则T + a’-b’是G的一个最小k+1度限制生成树。 即最小k+1度限制生成树属于最小k度限制生成树的邻集。 假设我们已经得到了最小p度限制生成树,如何通过它来求最小p+1度限制生成树呢? 如图,假设我们已经得到了v0度为2时的最小生成树,现在要求v0度为3时的最小生成树。 V0 枚举与V0关联且不在树上的边,添加到树上。 为了使V0的度增加,下面两条边红色的边是不能删除的。 删去边的权值越大,所得到的生成树的权值和就越小,因此,需要找到环上可删除的权值最大的边并将其删除。 简单的枚举,时间复杂度非常高。 应该使用动态规划! 动态规划 设最小p度限制生成树为T , T是无根树,为了简便,我们把v0作为该树的根。 定义Father(v)为T中v的父结点,Father(v0)无意义。 设Best(v)为路径v0-v上与v0无关联且权值最大的边。 动态规划 Best(v)的状态转移方程为 Best(v)=max(Best(Father(v)),w(Father(v),v)) 边界条件为 Best[v0]=-∞,{Best[v’]=-∞|(v0,v’)∈E(T)}。 动态规划 状态总共|V|个,而状态转移的时间复杂度为O(1),因而总的时间复杂度是O(V),即通过最小p度限制生成树求最小p+1度限制生成树的时间复杂度是O(V)。 具体实现:从V0开始做一遍广搜即可。 问题:最先求几度的最小度限制生成树呢?即p从多少开始求? 答 案 因为求最小k度限制生成树,当 k DG(v0) 时,问题并不总是有解的。如图。 所以如果将v0去掉,图会被分成m个连通支,那么就先求最小m度限制生成树。 V0 如何求最小m度限制生成树 1)我们可以先删去v0,对各个连通分量求最小生成树。 具体实现:枚举每个顶点作为起点执行Prim算法,执行的过程中对同一连通支的顶点用相同数字标记。 2)再在每个连通分量中找最小边和v0相连。 3)得到最小m度限制生成树。 求最小m度生成树:O(VlogV+E); 最多k次从p度到p+1度的递推:k*O(V); 总复杂度:O(VlogV+E+kV); 时间复杂度分析 例题3:还是通讯网络 某地区共有n座村庄,每座村庄的坐标用一对整数(x, y)表示,现在要在村庄之间建立通讯网络。 通讯工具有两种,分别是需要铺设的普通线路和卫星设备。 只能给k个村庄配备卫星设备,拥有卫星设备的村庄互相间直接通讯。 铺设了线路的村庄之间也可以通讯。 例题3:还是通讯网络 问:怎样合理的分配卫星和铺设线路,使得在保证每两座村庄之间都可以直接或间接地通讯的前提下,铺设线路的总长度最短。? 数据规模:0 = k = n = 500 分析 我们增加一个节点:卫星。卫星到所有节点的权值都是 0 。 那么,我们要求的仍是一个最小生成树。只不过卫星最多只能与 k 个节点相连。 也就是说,节点:卫星的度限制为 k 。 这是一个最小度限制生成树的问题! 例题4:POJ1679 The Unique MST 题目:要求判断给定图的最小生成树是否唯一 解:显然,这是一个求次小生成树的问题,如果求出来的次小生成树权值和与最小生成树相同,则不唯一 次小生成树的定义 设G=(V , E , ω)是连通的无向图,T是图G的一个最小生成树。如果有另一棵树T1,满足不存在树T’ , T’ ≠ T , ω(T’)ω(T1) ,则称T1是图G的次小生成树。 次小生成树有可能也是最小生成树 定理 定理:次小生成树属于最小生成树的邻集。 即次小生成树可以通过由最小生成树换一条边来得到。 结论 另一个结论: T是某一棵最小生成树,T0
原创力文档


文档评论(0)