算法合集之《最小生成树问题拓展》.pdfVIP

  • 14
  • 0
  • 约1.08万字
  • 约 7页
  • 2017-06-04 发布于湖北
  • 举报

算法合集之《最小生成树问题拓展》.pdf

IOI2004 国家集训队论文 汪汀 最小生成树问题的拓展 安徽省芜湖一中 汪汀 摘要 本文主要论述最小生成树问题中的两类拓展——最小度限制生成树和次小生成树。首 先分别介绍了这两类拓展问题的模型,然后提出了求解这两类问题的算法,最后,通过一些 例子分析其在实际问题中的应用。 关键字 生成树 拓展 度限制 正文 最小生成树是信息学竞赛中的经典问题,但近年来,竞赛中的题目不再局限于这类经典 模型,难度大大增加。为解决这些问题,我们必须对这些经典模型加以拓展。拓展的类型很 多,本文主要论述其中的两类——最小度限制生成树和次小生成树。 1 最小生成树 1.1最小生成树的定义 设G=(V,E, ω)是连通的无向图,G 中权值和最小的生成树称为最小生成树。 1.2 求解最小生成树的算法 求最小生成树,比较常用的算法有Prim 算法和Kruskal 算法。前者借助Fibonacci 堆可 以使复杂度降为O(Vlog V+E) ,后者一般应用于稀疏图,其时间复杂度为O(Elog V) 。 2 2 2、 小度限制生成树 2.1、最小度限制生成树的定义 对于一个加权的无向图,存在一些满足下面性质的生成树:某个特殊的结点的度等于一 个指定的数值。最小度限制生成树就是满足此性质且权值和最小的一棵生成树。 把它抽象成数学模型就是: 设G=(V,E, ω)是连通的无向图,v0 ∈V 是特别指定的一个顶点,k 为给定的一个正整数。 第 1 页 共 7 页 IOI2004 国家集训队论文 汪汀 如果T 是G 的一个生成树且d (v )=k,则称T 为G 的k 度限制生成树。G 中权值和最小的 T 0 k 度限制生成树称为G 的最小k 度生成树。 2.2、求解最小度限制生成树的算法 约定:T 为图G 的一个生成树,T+a-b 记作(+a,-b) ,如果T+a-b 仍然是一个生成树,则称(+a,-b) 是T 的一个可行交换。 引理1:设T ,T 是图G 的两个不同的生成树, 1 2 E(T )\E(T )={a ,a , ……,a },E(T )\E(T )={b ,b , ……,b },则存在一个排序 b ,b , ……,b ,使得 1 2 1 2 n 2 1 1 2 n i1 i2 in T +e -f (j =1,2, ……,n)仍然是G 的生成树。 2 j ij 定理1:设T 是G 的k 度限制生成树,则T 是G 的最小k 度限制生成树当且仅当下面三 个条件同时成立: Ⅰ 对于G 中任何两条与v0 关联的边所产生的T 的可行交换都是不可改进的。 Ⅱ 对于G 中任何两条与v0 不关联的边所产生的T 的可行交换都是不可改进的。 Ⅲ 对于 T 的任何两个可行交换(+a ,-b )和(+a ,-b ),若a ,b 与v 关联,b ,a 不于 1 1 2 2 1 2 0 1 2 v 关联,则有ω(b )+ ω(b )≤ω(a )+ ω(a ) 0 1 2 1 2 证明:⑴必要性 设 T 是最小k 度限制生成树

文档评论(0)

1亿VIP精品文档

相关文档