拓扑排序的java实现

拓扑排序的java实现

ID:10999535

大小:26.50 KB

页数:3页

时间:2018-07-09

拓扑排序的java实现_第1页
拓扑排序的java实现_第2页
拓扑排序的java实现_第3页
资源描述:

《拓扑排序的java实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、拓扑排序的java实现/*  *@title:拓扑排序  *@input:一个有向无环图,表述为一个邻接矩阵graph[n][],其中graph[i][0]为顶点i的入度,其余为其后继结点  *@output:一个拓扑序列list  */  importjava.util.*;  publicclassTopologicalSortTest  {  publicstaticvoidmain(String[]args)  {  int[][]graph={{0,1,2,3,},{2,},{1,1,4,},{2,4,},{3,},{0,3,4,},};  

2、int[]list=newint[graph.length];;  TopologicalSorttopologicalSort=newTopologicalSort();  topologicalSort.input(graph);  list=topologicalSort.getList();  for(intl:list){  System.out.print(l+"");  }  }  }  classTopologicalSort  {  int[][]graph;  int[]list;  voidinput(int[][]graph) 

3、 {  this.graph=graph;  list=newint[graph.length];  calculate();  }  voidcalculate()  {  Stackstack=newStack();  for(inti=0;i

  if(graph[i][0]==0){  stack.push(i);  }  }  inti=0;  while(stack.empty()!=true){  list[i]=(Integer)stack.pop();  for(intj=1;j<>  intk=graph[list[i]][j]

4、;  if((--graph[k][0])==0){  stack.push(k);  }  }  i++;  }  if(i  System.out.println("存在环,不可排序!");  System.exit(0);  }  }  int[]getList()  {  returnlist;  }  }  运行结果:  503241

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。