Algorithmm:
输入:图G
输出:MSTs T
的集合开始
T = NULL; E = G.Edges;
对于G中的所有顶点, 创建具有单个顶点b
的树t将T添加到T
结束
repeat
Find an edge e ∈ E having minimum weight
such that one end belongs to t ∈ T and the other
end does not belongs to any of the trees in T
Add e to t
until e = NULL
我坚持突出显示的块的逻辑。 我已经将简单对象用于顶点,边和树。对于他们的集合,使用了对象数组。
我有代码:
Tree[] findMSF(){
T=new Tree[numofMST];
E=new Edge[C.v.length];
for(int i=0;i<E.length;i++){
E[i]=C.e[i];//E ← C.Edges
}
for(int i=0;i<B.length;i++){
t=new Tree(B[i].v);//Create a tree t having single vertex b
T[i]=t;// T ← T U t
}
do{
e=find_e(E);
}while(e!=null);
return T;
}
我需要实现find_e(E);
答案 0 :(得分:0)
使用for循环。
for (int i = 1; i < 10; i++)
{
Your code
}
要更改重复的次数,请将10更改为另一个数字。