基本思路为从一颗根节点开始让一颗小树慢慢长大 .从根节点开始,每次找一个与当前树有直接边的邻接点,每次找一个最小权重的边,将其边和点收入到树内,树就长大了,然后继续往外长这颗树.反复循环. 以上图的情况来看以V1为起点最小生成树的生成顺序为:
V1(V4最近只有1) - V4(此时树为V1+V4找与他们最近的边) - V2(V3,V2顺序无所谓先后) - V3(V3,V2顺序无所谓先后) - V7(此时因为不能有回路,则V2-V4,V3-V1,V6-V7与树不直接相连,不计入。因此V7最小)-V6-V5
如果V和S(初始点)有直接的边则V的距离为S-V的权重,否则为正无穷,跟dijkstra一样。
设树的根节点为-1.通过节点内存储父节点达