上节课我们结束了所有关于图的基础知识的学习,那么本节开始我们将讲述有关图的应用。在考研当中有比较重要的应用有这样四个,分别是最短路径问题,最小生成树,拓扑排序以及关键路径。那么本节课我们先来介绍有关最小生成树的应用。
那什么是最小生成树呢?在讲述最小生成树之前我们先来看一个实际生活中的例子。这是一片海域,海域上有6个岛屿。那么现在我们想通过搭建桥的方式将每个岛屿之间连接到一起,也就是它们相互之间是连通的。根据我们之前学习过的有关图的知识,我们知道n个结点组成的图,实际上需要n-1条边来把它们组成一个连通的图。那么这样6个岛屿我们可以看作成6个顶点,而桥我们可以看作成一条无向边。
那么这样6个岛屿我们则需要5条无向边,5个桥才能把它们连通起来。这样我们就把它连通了起来。除了连通的问题,我们还有一个问题需要考虑,那么桥都是有长度的,怎样才能保证我们搭建桥的长度最少呢。那么根据这样的需求,我们则引入了今天所要学习的最小生成树这样的问题。
什么是最小生成树?提到最小生成树,其中的生成树这个名词大家一定不陌生。
我们之前学习过生成树的相关概念。我们先来简单复习一下什么是生成树。它是连通图包含全部顶点的一个极小连通子图。
我们来看这样一个例子。这是我们之前讲述过的一个无向图的例子。
我们可以画出它的两个生成树。这是它的两个生成树。
如果我们在第一个生成树上增加一条A-D无向边,那么它则会产生一个网状结构,它就不再是生成树了。
如果我们在第二个生成树上减少一条边,减少C-D这样一条边,它则会变成一个非连通的图,它也不是生成树了。这就是生成树的概念。那么什么是最小生成树呢?我们只剩下了最小怎么理解。如果此时我们将每一个边赋予一个权值的话,那么该无向图就会变成一个网。那么我们依旧画出该网的