最小生成树(MST,minimum spanning tree)
生成树:由图生成的树,由图转化为树,进一步可用对树的相关操作来对图进行操作。最小指的是权值最小;
- 生成树是边的集合,如下图所示的最小生成树:MST={{a,b},{a,f},{f,c}} 
本文主要探讨带权无向连通图(网络)上的最小生成树问题,以及求最小生成树的两个算法。
0. 生成数
- n 个顶点的图,有 n−1 棵生成树;
1. 最小生成树
最小生成树有很多实际应用。例如,将网络顶点看做城市,边看做连接城市的通信网,边的权看做连接城市的通信线路的成本,根据最小生成树建立的通信网就是这些城市之间成本最低的通信网。
2. Kruskal 算法
3. Prim 算法
Prim 算法的设计出发点与 Kruskal 算法完全不同:
- Prim 算法从一个顶点出发,逐步扩充包含该顶点的部分生成树 T;
Prim 算法的实施,需要用到关于最小生成树的一个重要特性,描述如下:
设 G=(V,E) 是一个网络,U 是 V 的任一真子集,设 e=(u,v)∈E,且u∈U,v∈V−U(也就是说,e 的一个端点在 U 里,另一个不在),且 e 在 G 中所有一个端点在 U 而另一个端点在 V−U 的边中权值最小,那么 G 中必有一棵包含边 e 的最小生成树。
最小生成树(MST,minimum spanning tree)的更多相关文章
- 说说最小生成树(Minimum Spanning Tree)
		minimum spanning tree(MST) 最小生成树是连通无向带权图的一个子图,要求 能够连接图中的所有顶点.无环.路径的权重和为所有路径中最小的. graph-cut 对图的一个切割或者 ... 
- Minimum Spanning Tree
		前言 说到最小生成树(Minimum Spanning Tree),首先要对以下的图论概念有所了解. 图 图(Graph)是表示物件与物件之间的关系的数学对象,是图论的基本研究对象.图的定义方式有两种 ... 
- 数据结构与算法分析–Minimum Spanning Tree(最小生成树)
		给定一个无向图,如果他的某个子图中,任意两个顶点都能互相连通并且是一棵树,那么这棵树就叫做生成树(spanning tree). 如果边上有权值,那么使得边权和最小的生成树叫做最小生成树(MST,Mi ... 
- 最小生成树(Minimum Spanning  Tree)——Prim算法与Kruskal算法+并查集
		最小生成树——Minimum Spanning Tree,是图论中比较重要的模型,通常用于解决实际生活中的路径代价最小一类的问题.我们首先用通俗的语言解释它的定义: 对于有n个节点的有权无向连通图,寻 ... 
- 【HDU 4408】Minimum Spanning Tree(最小生成树计数)
		Problem Description XXX is very interested in algorithm. After learning the Prim algorithm and Krusk ... 
- Educational Codeforces Round 3 E. Minimum spanning tree for each edge LCA/(树链剖分+数据结构) + MST
		E. Minimum spanning tree for each edge Connected undirected weighted graph without self-loops and ... 
- MST(Kruskal’s Minimum Spanning Tree Algorithm)
		You may refer to the main idea of MST in graph theory. http://en.wikipedia.org/wiki/Minimum_spanning ... 
- HDU 4408 Minimum Spanning Tree 最小生成树计数
		Minimum Spanning Tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ... 
- Educational Codeforces Round 3 E. Minimum spanning tree for each edge 最小生成树+树链剖分+线段树
		E. Minimum spanning tree for each edge time limit per test 2 seconds memory limit per test 256 megab ... 
- 【算法】关于图论中的最小生成树(Minimum Spanning Tree)详解
		本节纲要 什么是图(network) 什么是最小生成树 (minimum spanning tree) 最小生成树的算法 什么是图(network)? 这里的图当然不是我们日常说的图片或者地图.通常情 ... 
随机推荐
- 怎样只接受固定长度数组为参数 & 数组形参
			注意,对于多维数组的情况. 
- Looger级别
			Logger级别 日志记录器(Logger)是日志处理的核心组件.log4j具有5种正常级别(Level).日志记录器(Logger)的可用级别Level (不包括自定义级别 Level), 以下内容 ... 
- 为什么Java里的Arrays.asList不能用add和remove方法?
			在平时的开发过程中,我们知道能够将一个Array的对象转化为List.这种操作,我们仅仅要採用Arrays.asList这种方法即可了.笔者前段时间一直用这种方法,有一天,我发现通过Arrays.as ... 
- Bitmap缓存机制
			Bitmap缓存机制 载入一个bitmap到UI里面比較简单直接.可是,假设我们一次载入大量的bitmap数据的时候就变得复杂了.很多情况下(比方这些组件:ListVIew,GridView或者Vie ... 
- jquery 表单重置通用方法
			$("#form_id").find(":input").not(":button,:submit,:reset,:hidden").val ... 
- vue3事件
			<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
- android 客户端 Cookie处理
			Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密). Cookie最早是网景公司的前雇员Lou Montul ... 
- android文本排布
			首先看一幅图,是简书App的一篇文章的截图,如下: 图1,图2 上面两个图片都是文本的显示,但是由于有多种格式,所以较为复杂,例如其中有普通文本,还有加粗的文本,还有图文混排的显示等等. 一.解析HT ... 
- OPENCV(7) —— HighGUI
			包括函数createTrackbar.getTrackbarPos.setTrackbarPos.imshow.namedWindow.destroyWindow.destroyAllWindows. ... 
- blkid---对系统块设备信息查询
			在Linux下可以使用blkid命令对查询设备上所采用文件系统类型进行查询.blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型.LABEL.UUID等信息进行查询.要使用这个命令必须 ... 
