最小生成树的Java实现

文章作者 100test 发表时间 2011:03:18 19:40:09
来源 100Test.Com百考试题网


  /*

  * @input: 一个有向无环带权图,表述为一个二维数组graph[n][n]

  * @output: 最小生成树tree[n-1][3],tree[i][0]及tree[i][1]为边之顶点,tree[i][2]为权

  */

  public class MiniSpanTreeTest

  {

  static int[][] graph={

  {1000,6,1,5,1000,1000},

  {6,1000,5,1000,3,1000},

  {1,5,1000,5,6,4},

  {5,1000,5,1000,1000,2},

  {1000,3,6,1000,1000,6},

  {1000,1000,4,2,6,1000},

  }.

  static int v=0.

  static int[][] tree.

  public static void main(String[] args)

  {

  MiniSpanTree miniSpanTree=new MiniSpanTree().

  miniSpanTree.input(graph, v).

  tree=miniSpanTree.getTree().

  for(int i=0. i

  System.out.println("边:" tree[i][0] "-" tree[i][1] " 权:" tree[i][2]).

  }

  }

  }

  class MiniSpanTree

  {

  private int[][] graph.

  private int v.

  private int[][] tree.

  private boolean[] s.

  void input(int[][] graph, int v)

  {

  this.graph=graph.

  this.v=v.

  tree=new int[graph.length-1][].

  s=new boolean[graph.length].

  for(boolean i : s) i=false.

  s[v]=true.

  calculate().

  }

  void calculate()

  {

  for(int i=0. i

  int[][] edge ={{0,0,1000,},}.

  for(int j=0. j

  for(int k=0. s[j]==true


相关文章


Java利用poi读写Excel需要注意的问题
关于java对象复制
关键路径的java实现
拓扑排序的java实现
最小生成树的Java实现
JS获取单选与多选按纽的值
Java垃圾收集算法与内存泄露
深入理解Java加载类的机制
Java实现通用组合算法
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛