public Set<Vertex<T>> getAdjacentVertices(Vertex<T> vertex) { Set<Vertex<T>> adjacentVertices = new HashSet<>(); Set<Edge<T>> incidentEdges = getOutgoingEdges(vertex); if (incidentEdges != null) { for (Edge<T> edge : incidentEdges) { adjacentVertices.add(edge.getOppositeVertex(vertex)); } } return adjacentVertices; }
public Set<Vertex<T>> getAdjacentVertices(Vertex<T> vertex) { Set<Vertex<T>> adjacentVertices = new HashSet<>(); Set<Edge<T>> incidentEdges = getOutgoingEdges(vertex); if (incidentEdges != null) { for (Edge<T> edge : incidentEdges) { adjacentVertices.add(edge.getOppositeVertex(vertex)); } } return adjacentVertices; }
public Set<Vertex<T>> getAdjacentVertices(Vertex<T> vertex) { Set<Vertex<T>> adjacentVertices = new HashSet<Vertex<T>>(); Set<Edge<T>> incidentEdges = getOutgoingEdges(vertex); if (incidentEdges != null) { for (Edge<T> edge : incidentEdges) { adjacentVertices.add(edge.getOppositeVertex(vertex)); } } return adjacentVertices; }
private boolean isCycle(DirectedGraph<T> graph, Vertex<T> from) { Set<Edge<T>> edges = graph.getOutgoingEdges(from); for (Edge<T> edge : edges) { Vertex<T> opposite = edge.getOppositeVertex(from); if (isPath(graph, opposite, from)) { // cycle found return true; } } return false; }
private boolean isCycle(DirectedGraph<T> graph, Vertex<T> from) { Set<Edge<T>> edges = graph.getOutgoingEdges(from); for (Edge<T> edge : edges) { Vertex<T> opposite = edge.getOppositeVertex(from); if (isPath(graph, opposite, from)) { // cycle found return true; } } return false; }
private boolean isCycle(DirectedGraph<T> graph, Vertex<T> from) { Set<Edge<T>> edges = graph.getOutgoingEdges(from); for (Edge<T> edge : edges) { Vertex<T> opposite = edge.getOppositeVertex(from); if (isPath(graph, opposite, from)) { // cycle found return true; } } return false; }
/** * Returns the outgoing or incoming adjacent vertices for a given vertex * * @param vertex the vertex. * @param outGoing true for returning outgoing vertices. * @return the adjacent vertices */ private List<Vertex<T>> getAdjacentVertices(Vertex<T> vertex, boolean outGoing) { List<Vertex<T>> adjacentVertices = new ArrayList<>(); Set<Edge<T>> edges; if (outGoing) { edges = getOutgoingEdges(vertex); } else { edges = getIncomingEdges(vertex); } for (Edge<T> edge : edges) { Vertex<T> oppositeVertex = edge.getOppositeVertex(vertex); adjacentVertices.add(oppositeVertex); } return adjacentVertices; }
/** * Returns the outgoing or incoming adjacent vertices for a given vertex * * @param vertex the vertex. * @param outGoing true for returning outgoing vertices. * @return the adjacent vertices */ private List<Vertex<T>> getAdjacentVertices(Vertex<T> vertex, boolean outGoing) { List<Vertex<T>> adjacentVertices = new ArrayList<>(); Set<Edge<T>> edges; if (outGoing) { edges = getOutgoingEdges(vertex); } else { edges = getIncomingEdges(vertex); } for (Edge<T> edge : edges) { Vertex<T> oppositeVertex = edge.getOppositeVertex(vertex); adjacentVertices.add(oppositeVertex); } return adjacentVertices; }
/** * Returns the outgoing or incoming adjacent vertices for a given vertex * * @param vertex the vertex. * @param outGoing true for returning outgoing vertices. * @return the adjacent vertices */ private List<Vertex<T>> getAdjacentVertices(Vertex<T> vertex, boolean outGoing) { List<Vertex<T>> adjacentVertices = new ArrayList<Vertex<T>>(); Set<Edge<T>> edges; if (outGoing) { edges = getOutgoingEdges(vertex); } else { edges = getIncomingEdges(vertex); } for (Edge<T> edge : edges) { Vertex<T> oppositeVertex = edge.getOppositeVertex(vertex); adjacentVertices.add(oppositeVertex); } return adjacentVertices; }