📄 primmst.java
字号:
package twf.weightedgraph.undirected;
import twf.weightedgraph.Edge;
import twf.weightedgraph.Graph;
public class PrimMST {
private double[] wt;
private Edge[] fr, mst;
public PrimMST(Graph G)
{
wt = new double[G.V()];
mst = new Edge[G.V()]; fr = new Edge[G.V()];
for (int v = 0; v < G.V(); v++) wt[v] = 2.0;
int min = -1;
for (int v = 0; min != 0; v = min)
{ Edge e;
min = 0;
for (int w = 1; w < G.V(); w++)
if (mst[w] == null)
{ double P = 0.0; e = G.edge(v, w);
if (e != null)
if ((P = e.wt()) < wt[w])
{ wt[w] = P; fr[w] = e; }
if (wt[w] < wt[min]) min = w;
}
if (min != 0) mst[min] = fr[min];
}
}
public void printMST() {
for (int i = 0; i < mst.length; i++) {
System.out.println(mst[i]);
}
}
public Edge[] mst() {
return mst;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -