Package org.apache.calcite.util.graph
Class BreadthFirstIterator<V,E extends DefaultEdge>
- java.lang.Object
-
- org.apache.calcite.util.graph.BreadthFirstIterator<V,E>
-
- Type Parameters:
V
- Vertex typeE
- Edge type
- All Implemented Interfaces:
java.util.Iterator<V>
public class BreadthFirstIterator<V,E extends DefaultEdge> extends java.lang.Object implements java.util.Iterator<V>
Iterates over the vertices in a directed graph in breadth-first order.
-
-
Constructor Summary
Constructors Constructor Description BreadthFirstIterator(DirectedGraph<V,E> graph, V root)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
hasNext()
V
next()
static <V,E extends DefaultEdge>
java.lang.Iterable<V>of(DirectedGraph<V,E> graph, V root)
static <V,E extends DefaultEdge>
voidreachable(java.util.Set<V> set, DirectedGraph<V,E> graph, V root)
Populates a set with the nodes reachable from a given node.void
remove()
-
-
-
Field Detail
-
graph
private final DirectedGraph<V,E extends DefaultEdge> graph
-
deque
private final java.util.Deque<V> deque
-
set
private final java.util.Set<V> set
-
-
Constructor Detail
-
BreadthFirstIterator
public BreadthFirstIterator(DirectedGraph<V,E> graph, V root)
-
-
Method Detail
-
of
public static <V,E extends DefaultEdge> java.lang.Iterable<V> of(DirectedGraph<V,E> graph, V root)
-
reachable
public static <V,E extends DefaultEdge> void reachable(java.util.Set<V> set, DirectedGraph<V,E> graph, V root)
Populates a set with the nodes reachable from a given node.
-
hasNext
public boolean hasNext()
- Specified by:
hasNext
in interfacejava.util.Iterator<V>
-
remove
public void remove()
- Specified by:
remove
in interfacejava.util.Iterator<V>
-
-