Advertisement
Guest User

Untitled

a guest
Apr 18th, 2015
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. public WeightedGraph<V, E> createOstovTreeViaMethodPrim() {
  2. WeightedGraph<V, E> graph = new WeightedGraph<V, E>();
  3. for (Object v : this.getVertices())
  4. graph.addVertex((V)v);
  5.  
  6. Set<Integer> tracked_vertices = new HashSet<Integer>();
  7. tracked_vertices.add((int)this.getVertices().iterator().next());
  8. Object min_edge = null, edge = new Object();
  9.  
  10. while (tracked_vertices.size() != this.getVertexCount()) {
  11. for (Object track_vertex : tracked_vertices) {
  12. for (Object neighbor_untrack : this.getIncidentEdges(track_vertex)) {
  13. if (!graph.containsEdge(neighbor_untrack)) {
  14. if (min_edge == null || getEdgeWeight(min_edge) > getEdgeWeight(neighbor_untrack)) {
  15. min_edge = neighbor_untrack;
  16. }
  17. }
  18. }
  19. }
  20. graph.addEdge(min_edge, this.getIncidentVertices(min_edge), getEdgeWeight(min_edge));
  21. tracked_vertices.addAll(this.getIncidentVertices(min_edge));
  22. min_edge = null;
  23. }
  24. return graph;
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement