Dépôt du be graphe
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

WeaklyConnectedComponentsSolution.java 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package org.insa.graphs.algorithm.weakconnectivity;
  2. import java.util.ArrayList;
  3. import org.insa.graphs.algorithm.AbstractSolution;
  4. import org.insa.graphs.model.Node;
  5. public class WeaklyConnectedComponentsSolution extends AbstractSolution {
  6. // Components
  7. private ArrayList<ArrayList<Node>> components;
  8. protected WeaklyConnectedComponentsSolution(WeaklyConnectedComponentsData data) {
  9. super(data);
  10. }
  11. protected WeaklyConnectedComponentsSolution(WeaklyConnectedComponentsData data, Status status,
  12. ArrayList<ArrayList<Node>> components) {
  13. super(data, status);
  14. this.components = components;
  15. }
  16. @Override
  17. public WeaklyConnectedComponentsData getInputData() {
  18. return (WeaklyConnectedComponentsData) super.getInputData();
  19. }
  20. /**
  21. * @return Components of the solution, if any.
  22. */
  23. public ArrayList<ArrayList<Node>> getComponents() {
  24. return components;
  25. }
  26. /*
  27. * (non-Javadoc)
  28. *
  29. * @see java.lang.Object#toString()
  30. */
  31. @Override
  32. public String toString() {
  33. int nIsolated = 0;
  34. int nGt10 = 0;
  35. for (ArrayList<Node> component: components) {
  36. if (component.size() == 1) {
  37. nIsolated += 1;
  38. }
  39. else if (component.size() > 10) {
  40. nGt10 += 1;
  41. }
  42. }
  43. return "Found " + components.size() + " components (" + nGt10 + " with more than 10 nodes, "
  44. + nIsolated + " isolated nodes) in " + getSolvingTime().getSeconds() + " seconds.";
  45. }
  46. }