最小生成树
Posted johnnyzhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最小生成树相关的知识,希望对你有一定的参考价值。
什么时最小生成树?
一个有n个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有n个结点,并且有保持图连通的最少的边。最小生成树可以用Kruskal算法或Prim算法求出。
在一给定的无向图g=(V,E)中,(u,v)代表连接顶点u与顶点v的边,而w(u,v)代表此边的权重,若存在T为E的子集,且为无循环田图,使得w(t)最小,则此T为G的最小生成树。最小生成树其实是最小权重生成树的简称。
最小生成树的应用
生成树和最小生成树有许多重要的应用。
例如要在n个城市之间铺设光缆,主要目标是要使这n个城市的任意两个之间都可以通信,但铺设光缆的费用很高,且各个城市之间铺设光缆的费用不同,因此另一个目的是要使铺设光缆的总费用最低。这就需要找到带权的最小生成树。
图的入度和出度
1.构建图的邻接矩阵
示例图:
根据上面示例图的结构,是顶点与顶点之间的连接关系,又带有权值,所以我们可以用邻接矩阵来表示图中顶点的关系:
- 矩阵中的值代表顶点与顶点之间的权值,由于示例是一个无向图,所以这个矩阵是以对角线对称的
- 我们可以将矩阵看成一个二维数组,因此可以创建出这个图的数据结构:
以上是关于最小生成树的主要内容,如果未能解决你的问题,请参考以下文章