一个连通图可能有多棵生成树,而最小生成树是一副连通加权无向图中一颗权值最小的生成树,它可以根据Prim算法和Kruskal算法得出,这两个算法分别从点和边的角度来解决。
以下面这张图作为例子,表格中的Vertex、Kown、Cost、Path分别表示顶点信息、是否访问过,权值,到达路径;
我们随机的选择顶点0作为起点,其执行步骤为:
步骤 | 选中结点 |
---|---|
顶点0作为起始点 | 0 |
根据(6, 7, 8)的方案选中6 | 1 |
根据顶点1能够到达的权值(7, 4, 3)和顶点0能够到达的权值(7, 8)中选择3 | 5 |
根据顶点5能够到达的权值(8)和根据顶点1能够到达的权值(7, 4)和顶点0能够到达的权值(7, 8)中选择4 | 6 |
根据顶点6能够到达的权值(6, 7)和顶点0能够到达的权值(7)中选择6 | 2 |
根据顶点0能够到达的权值(7)和顶点6能够到达的权值(7)中选择7 | 4 |
根据顶点6能够到达的权值(7)选择7 | 7 |
根据顶点7能够到达的权值(2)选择2 | 3 |
全部结点都访问过,退出 |