java求最小生成树的权重_用java写了一个最小生成树问题的程序,在进行快速排序边长的权重时,出现了下面的报错...

Exceptioninthread"main"java.lang.NullPointerExceptionatmst.MST1.main(MST1.java:29)一直找不到问题所在,顺便把所有代码附上,跪求大神帮忙解决下吧。。。packagemst;publicclass...

Exception in thread "main" java.lang.NullPointerException

at mst.MST1.main(MST1.java:29)

一直找不到问题所在,顺便把所有代码附上,跪求大神帮忙解决下吧。。。

package mst;

public class MST1 {

public static void main(String[] args){

double totalw=0;

long totalt =0;

MST1 MT = new MST1();

for(int p=0;p<15;p++){

int num=5;

int k=0;

double sum=0;

disjoint d = MT.new disjoint();

quicksort q= MT.new quicksort();

graph g= MT.new graph();

edges e= MT.new edges(0,0,0.1);

double[][] graph1 =g.generate(num);

edges[] edgelist1= g.listedges(graph1);

edges[] e1= new edges[num-1];

long starTime =System.currentTimeMillis();

for(int i1=0;i1

d.make_set(i1);

}

q.e_sort (edgelist1, 0, edgelist1.length);

for (int i=0;i

{

if(d.find_set(edgelist1[i].start)!=d.find_set(edgelist1[i].end)){

e1[k] = MT.new edges(edgelist1[i].start,edgelist1[i].end,edgelist1[i].weight);

d.union_set(edgelist1[i].start,edgelist1[i].end);

k++;

}

}

for (int i2=0;i2

{

sum = sum +e1[i2].weight;

}

long endTime = System.currentTimeMillis();

totalw = totalw +sum;

long startTime = 0;

totalt = totalt +endTime - startTime;

}

System.out.println("Average L(n)= "+totalw/15 +"Avarage Running Time :" +totalt/15 );

}

public class disjoint {

int n=10000;

int[] p= new int[n];

int[] rank= new int[n];

void make_set(int i) {

}

int find_set(int x) {

return 0;

}

void union_set(int x, int y) {

}

}

class quicksort {

public void q_sort(double[] s, int l,int r ) {

}

public void e_sort(edges[] e, int l ,int r) {

}

}

class edges{

int start, end;

double weight;

public edges(int start,int end, double weight) {

}

public double getWeight(edges e) {

return 0;

}

public double totalweight (edges[] e) {

return 0;

}

}

public class graph {

public double[][] generate(int n) {

return null;

}

public double[] listlength(double[][] d) {

return null;

}

public edges[] listedges(double [][] d) {

return null;

}

}

}

补充一下报错的那行代码是这个:

q.e_sort (edgelist1, 0, edgelist1.length);

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值