Traversal
Biconnected
, BreadthFirst
, DepthFirst
public abstract class AbstractTraversal extends java.lang.Object implements Traversal
ERROR, ERROR_TRAVERSAL_EDGES, ERROR_TRAVERSAL_NODES, ERROR_TRAVERSAL_ROOT, NODE_NULL, STATUS_ARTICULATION_POINT, STATUS_START_BICOMPONENT, STATUS_START_COMPONENT, STATUS_VISITED_ALL, STATUS_VISITED_BICOMPONENT, STATUS_VISITED_COMPONENT, STATUS_VISITED_NODE
Constructor | Description |
---|---|
AbstractTraversal() |
Modifier and Type | Method | Description |
---|---|---|
protected void |
error(byte errorID) |
|
int |
getGoal() |
|
protected TraversalVisitor |
getLocalVisitor() |
|
int |
getSeen() |
|
protected void |
localVisit(byte nodeID) |
|
protected void |
seen(byte nodeID) |
|
protected boolean |
seenAll() |
|
void |
setGoal(int bitmap) |
|
protected void |
setLocalVisitor(TraversalVisitor visitor) |
|
void |
setSeen(int bitmap) |
|
protected boolean |
setup(byte nodeID,
Graph graph,
TraversalVisitor visitor) |
|
protected boolean |
setup(Graph graph,
TraversalVisitor visitor) |
|
protected void |
status(byte statusID) |
|
byte |
traverseAll(Graph graph,
TraversalVisitor visitor) |
The only reason to override this method is to change the node choice before
traversing each component, or to traverse more complex components such as
biconnected, K-connected, etc.
|
protected abstract void |
traverseComponent(byte nodeID,
Graph graph) |
|
boolean |
traverseComponent(byte nodeID,
Graph graph,
TraversalVisitor visitor) |
There should be no reason to override this method.
|
protected boolean |
unseenNeighbor(byte nodeID,
byte neighborID) |
|
protected void |
visit(byte nodeID) |
protected TraversalVisitor getLocalVisitor()
public int getSeen()
public int getGoal()
protected void setLocalVisitor(TraversalVisitor visitor)
public void setSeen(int bitmap)
public void setGoal(int bitmap)
protected void error(byte errorID)
protected void seen(byte nodeID)
protected boolean seenAll()
protected boolean unseenNeighbor(byte nodeID, byte neighborID)
protected void status(byte statusID)
protected void localVisit(byte nodeID)
protected void visit(byte nodeID)
protected boolean setup(Graph graph, TraversalVisitor visitor)
protected boolean setup(byte nodeID, Graph graph, TraversalVisitor visitor)
protected abstract void traverseComponent(byte nodeID, Graph graph)
public final boolean traverseComponent(byte nodeID, Graph graph, TraversalVisitor visitor)
traverseComponent
in interface Traversal
public byte traverseAll(Graph graph, TraversalVisitor visitor)
traverseAll
in interface Traversal