⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 primmst.java

📁 个人学习图算法时写的源码 包括最小生成树, 最大网络流, DSF遍历, BSF遍历,
💻 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 + -