加权图是一种为每条边关联一个权值或是成本的图模型。
最小生成树。给定一副加权无向图,找出它的一颗最小生成树。
定义:图的最小生成树是它的一副含有其所有顶点的无环连通子图。一副加权图的最小生成树(MST)是它的一颗权值(树种所有边的权值之和)最小的生成树。
一些约定:
1.只考虑连通图
2.边的权重不一定代表距离
3.边的权重可能是0或者负数
4.所有边的权重都各不相同。如果不同边的权重可以相同,最小生成树就不一定唯一了。存在多颗最小生成树的可能性会使部分算法的证明变得更加复杂。
命题J(切分定理):在一副加权图中,给定任意的切分,它的横切边中的权重最小者必然属于图中的最小生成树。
切分定理是解决最小生成树问题的所有算法的基础。更确切的说,这些算法都是贪心算法的特殊情况:使用切分定理找到最小生成树的一条边,不断重复直到找到最小生成树的所有边。
命题K(最小生成树的贪心算法):将含有V个顶点的任意加权连通图中属于最小生成树的边标记为黑色:初始状态下所有边均为灰色,找到一种切分,它产生的横切边均不为黑色。将它权重最小的横切边标记为黑色。反复,直到标记了V-1条黑色边为止。