Advertisement
Guest User

Untitled

a guest
Jun 15th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. package A09_ZyklenTiefensuche;
  2.  
  3. import java.util.*;
  4. import java.util.concurrent.ArrayBlockingQueue;
  5.  
  6. import basisAlgorithmen.Graph;
  7. import basisAlgorithmen.Vertex;
  8. import basisAlgorithmen.WeightedEdge;
  9.  
  10. public class Zyklen {
  11.  
  12. private Graph g;
  13.  
  14. public Zyklen(Graph g) {
  15. this.g = g;
  16. }
  17.  
  18. /**
  19. * Retourniert einen Zyklus eines Graphen, sofern einer existiert
  20. *
  21. * @return Anzahl der Komponenten
  22. */
  23. public List<Integer> getCycle() {
  24.  
  25. int startVertex = 0;
  26. List<Integer> loop = new LinkedList<>();
  27.  
  28. loop.add(startVertex);
  29.  
  30. while (startVertex < g.numVertices()) {
  31.  
  32. for (WeightedEdge edge : g.getEdges(startVertex)
  33. ) {
  34. if (!loop.contains(edge.to_vertex))
  35. loop.add(edge.to_vertex);
  36. else {
  37. return loop;
  38. }
  39. if (!loop.contains(edge.from_vertex))
  40. loop.add(edge.from_vertex);
  41. else
  42. return loop;
  43. }
  44. startVertex++;
  45. }
  46. return null;
  47.  
  48. }
  49.  
  50.  
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement