第六次日志
生成树
连通分支的概念: 无向图的极大连通子图,有极小连通子图的概念,一个连通图的生成树是指一个极小连通子图
• 一个极小连通子图:含有图中的全部顶点,但只有足已构成一棵树的 n-1 条边
有n-1条边的图并非一定连通。
有n-1条边的图不一定存在生成树
一图有n个顶点,但边数少于n-1条,则该图不可能是连通图
最小生成树
概念:在一个连通网的所有生成树中,各边的代价之和最小的那棵生成树称为该连通网的最小生成树。
普里姆算法--加点法
• 思想:
假设N=(V,{E})是连通网,TE为最小生成树中边的集合。
(1)初始U={u0}(u0∈V),TE是空集; (2)在所有u∈U,v∈V-U的边中选一条代价最小的边
(u0
,v0)并入集合TE,同时将v0并入U; (3)重复(2),直到U=V为止。
此时,TE中必含有n-1条边,则T=(V,{TE})为N的最小
生成树。
克鲁斯卡尔算法
•思想:
假设N=(V,{E})是连通网,将N中的边按权值从小到
大的顺序排列。
(1)将n个顶点看成n个集合;
(2)按权值由小到大的顺序选择边,所选边应满足两个
顶点不在同一个顶点集合内,将该边放到生成树边的集
合中。同时将该边的两个顶点所在的顶点集合合并;
(3)重复(2)直到所有的顶点都在同一个顶点集合内。