Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. public Graph toMinSpanTree() {
  2. PriorityQueue<Edge> queue = new PriorityQueue<Edge>();
  3. UnionFindSet makeSet = new UnionFindSet();
  4. DiGraph graph= new DiGraph(); // MST
  5.  
  6. makeSet.add(getNodes()); //generate 1-elements-sets
  7.  
  8. //adding all edges into the queue
  9. for (Node node : nodes.values()) {
  10. List<Edge> incidentEdges = node.getIncidentEdges();
  11. queue.addAll(incidentEdges);
  12. }
  13. for(Edge e : queue) {
  14. if(makeSet.getRepresentative(e)!=makeSet.getRepresentative(e)) {
  15. //edge connects different sets
  16. makeSet.union(e, e);;
  17. graph.addEdge(0, 0, 0);
  18. }
  19.  
  20. }// end for
  21.  
  22. return new DiGraph();
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement