转自:https://blog.csdn.net/liangzhaoyang1/article/details/51602926


设G是所有边权均不相同的无向联通图。

证明一:

首先,易证图G中权值最小的边一定是最小生成树中的边。(否则最小生成树加上权值最小的边后构成一个环,去掉环中任意一条非此边则形成了另一个权值更小的生成树)。

之后用反证法,假设G存在俩个不同的最小生成树

①.设G的俩个不同的最小生成树T1 T2,设这俩颗生成树的并集为子图G1,G1为连通图且T1 T2显然为G1的最小生成树,由首先可得知俩颗生成树至少包含一条公共边,将G1中两颗生成树的公共边删去,得到子图G2。G2由一个或多个连通分量组成,其中至少有一个连通分量的最小生成树不唯一(否则若所有连通分量的最小生成树唯一,则将删掉的公共边加上,则T1等于T2,这与假设相矛盾)。

②.对其中一个最小生成树不唯一的连通分量设为H,若H中点数>2,重复①的操作。否则H中只有俩个点,由于所有边权值不同,显然最小生成树唯一,这与①中的最后一句相矛盾。

综上,所有边权均不相同的无向图最小生成树是唯一的。

证明二:

设T,T’为G的俩个最小生成树,设T的边集E(T)={e1,e2,...,em},T'的边集E(T')={e'1,e'2,...,e'm}。

设ek满足ek≠e'k且k最小,由于所有边权值不同,不妨假设weight(ek)<weight(ek'),则将ek加入到T',T'中构成环,易知环中不包含e'1,e'2,...,e'k-1(否则在T中有包含ek的环),将环中任意非ek边删掉后得到了权值更小的生成树,这与T‘为最小生成树相矛盾,故G最小生成树唯一。

还有一个更强的结论:同一个图不同最小生成树的边权重序列相同。

转载于:https://www.cnblogs.com/schips/p/10659998.html

怎么证明权重不相同的加权无向图的最小生成树是唯一的 (图论)相关推荐

  1. 加权无向图与最小生成树(Prim算法和Kruskal算法)

    目录 0 引入 1 图的最小生成树定义及相关约定 2 最小生成树原理 2.1 性质 2.2 切分定理 3 贪心思想 4 Prim算法 4.1 算法步骤 4.2 API设计 4.3 Java代码演示 5 ...

  2. 数据结构之图:加权无向图与寻找最小生成树,Python——27

    加权无向图与prim算法和Kruskal算法寻找最小生成树 加权无向图的介绍 引入 加权无向图是一种为每条边关联一 个权重值或 是成本的图模型.这种图能够自然地表示许多应用.在一副航空图中,边表示航线 ...

  3. 【九度OJ】1008【加权无向图最短路径】

    在网上查了一下,加权无向图最短路解法DFS和Dijkstra多一些,一般不用BFS 我选择用DFS,用时380MS,看了一下其他人的,最好的是240MS,用的是Dijkstra.都是采用邻接矩阵存储图 ...

  4. 并查集与贪心算法的应用之求解无向图的最小生成树

    一,介绍 本文介绍使用Kruskal算法求解无向图的最小生成树.Kruskal是一个贪心算法,并且使用了并查集这种数据结构. 关于并查集的介绍,参考:数据结构--并查集的原理及实现 二,构造一个无向图 ...

  5. java求最小生成树的权重_给定有权无向图的邻接矩阵如下,求其最小生成树的总权重,代码。...

    #include using namespace std; #define INF 0x3f3f3f3f const int maxn = 117; int m[maxn][maxn]; int vi ...

  6. 无向图的最小生成树(prim算法)

    引子: 假设整个无向图中的点记为A,最小生成树中的点记为T,其他点记为Q(也就是Q= A-T),T与Q相连的边记为B 算法构造过程: 1.初始化:首先将一个点(随意一个)加入最小生成树中 2.在所有Q ...

  7. 无向图的最小生成树(克鲁斯卡尔算法 Kruskal)

    引子: 克鲁斯卡尔算法的作用是:构建图的最小生成树. 克鲁斯卡尔算法 Kruskal的构造过程: 1.初始化图:n个顶点,n个连通分量(如果两个顶点的连通分量相同,表示两点在同一个连通图中).把所有的 ...

  8. 可由线性表示且表达式唯一_证明y可由b1.b2--bn线性表出且表示法唯一

    如果向量组(a1,a2,a3.an)可以由向量组(b1,b2,b3...bn)线性表示 证明: 前者的秩小于后者的秩 向量组a1,a2,---ak可用向量组b1,b2---bL线性表示所以存在矩阵P, ...

  9. c 语言寻找最小生成树,求助,关于求无向图的最小生成树代码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #define INFINITY 30000//权值最大值 #define max_vertex_n ...

最新文章

  1. Laravel框架学习 -- php artisan down/up
  2. 分布式消息队列 — Overview
  3. 前端三十四:内嵌框架
  4. 解决OpenCV问题:OpenCV Error: Assertion failed (!empty()) in cv::CascadeClassifier::detectMultiScale,
  5. HTML语言中checkbox的行为
  6. 入门 | 初学者必读:解读14个深度学习关键词
  7. Oracle 19.8新特性asmcmd credverify and asmcmd credfix
  8. 支付宝集五福1月19日开启 超1000个商家机构齐发福卡
  9. java基础应用_Java基础(应用篇)
  10. python怎么去掉换行符_python去除字符串中的换行符
  11. graphviz python_工具推荐|我是如何使用Python脚本分析CPU使用情况的?
  12. [带权并查集] Jzoj P1503 体育场
  13. [SDOI2011]染色 BZOJ2243 树链剖分+线段树
  14. java 二进制乱码_深入解析java乱码
  15. 一款高仿微信的app供大家参考
  16. SQL语句的书写顺序和解析顺序
  17. 鸿蒙测试麒麟920,麒麟920打MT6595没压力
  18. java 仿百度文库源码_java开发_模仿百度文库_OpenOffice2PDF_源码下载
  19. 和水花的100天(20211223 Week51-2)
  20. Linux基本命令讲解

热门文章

  1. linux 编译内核几个常见问题解决方法
  2. java 接口 返回值_java api返回值的标准化详解
  3. 斑能不能彻底去掉_小龙虾的头、虾黄到底能不能吃?赶紧告诉身边人......
  4. web服务器的性能体现,Web应用服务器的性能问题分析
  5. OpenKruise:解放 DaemonSet 运维之路
  6. app开发上传文件夹到服务器,uni-app 上传(图片上传实战)
  7. 授予数据库账号dba权限_从自建Oracle迁移至云原生数据仓库AnalyticDB PostgreSQL
  8. 华为服务器系统关机命令,云服务器关机指令
  9. 0098 高级程序设计 c语言 在线作业,中国大学MOOC(C语言程序设计精髓)作业
  10. MATLAB中cfl,ML4835复合PFC/CFL小型荧光灯基于Matlab的电力电子电路仿真方法