最小生成树(Minimum Spanning Tree)

目录

❤️什么是最小生成树?

如何求最小生成树?

-MST(Minimum Spanning Tree)性质

-Prim算法

-Kruskal算法

题目1


❤️什么是最小生成树?

        -生成树:在图论中,无向图 生成树(英语:Spanning Tree)是具有 G 的全部顶点,但边数最少的连通子图。

        -最小生成树:最小生成树是一副连通加权无向图中一棵权值最小的生成树。

如何求最小生成树?

-MST(Minimum Spanning Tree)性质

        对于一个连通图,至少存在一棵最小生成树包含权值最小的边。

-Prim算法

-描述:

从单一顶点开始,普里姆算法按照以下步骤逐步扩大树中所含顶点的数目,直到遍及连通图的所有顶点。

-步骤:

最小生成树(Minimum Spanning Tree)_第1张图片

 -实例:

粗实线表示已经选定的边。

       最小生成树(Minimum Spanning Tree)_第2张图片

-Kruskal算法

-步骤:

        1.把原始图的N个节点看作N个独立子图。

        2.每次选取当前最短的边,看两端是否属于不同的子图;若是则加入,否则放弃。

        3.循环操作步骤2,直到有N-1条边。

-实例:

虚线为将要判断的边,粗实线为已经选定的边。

最小生成树(Minimum Spanning Tree)_第3张图片

题目1

Problem - 1272https://acm.hdu.edu.cn/showproblem.php?pid=1272

你可能感兴趣的:(算法,数据结构,c++)