一、概念准备
MST最小生成树算法是一种图论的算法。
- 连通图:无向图中,任意两个顶点都有路径相通。
- 强连通图:有向图中,任意两个顶点都有路径相通。
- 连通网:在连通图中,若图的边有权值;权代表着连接连个顶点的代价,称这种连通图叫做连通网。
- 生成树:一个连通图的生成树是指一个连通子图,它含有图中全部n个顶点,但只有足以构成一棵树的n-1条边。一颗有n个顶点的生成树有且仅有n-1条边,如果生成树中再添加一条边,则必定成环。
- 最小生成树:在连通网的所有生成树中,所有边的代价和最小的生成树,称为最小生成树。
- 并查集:并查集是一种树型的数据结构,用于处理一些不相交集合(disjoint sets)的合并及查询问题。常常在使用中以森林来表示。在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。
- 并查集的功能:
- 查找:查找元素所在的集合,即根节点。
- 合并:将两个元素所在的集合合并为一个集合。合并之前,应先判断两个元素是否属于同一集 合,这可用上面的“查找”操作实现。
二、最小生成树获取算法
- prim算法
此算法可以称为“加点法”,每次迭代选择代价最小的边对应的点&#x