public class PQTree<V extends Vertex,E extends Edge<V>> extends Graph<PQTreeNode,PQTreeEdge>
| Constructor and Description |
|---|
PQTree(Graph<V,E> graph,
java.util.List<E> virtualEdges,
java.util.Map<V,java.lang.Integer> stNumbering)
Construct the PQ tree, given the a graph, a list of virtual edges and st-numbering
|
| Modifier and Type | Method and Description |
|---|---|
void |
addEdge(PQTreeEdge... edges) |
void |
addVertex(PQTreeNode node)
Add one vertex to the graph
|
java.util.List<PQTreeNode> |
allDescendantsOf(PQTreeNode node)
Finds all descendants of a tree node
|
java.util.List<PQTreeNode> |
findLeavesOf(java.util.List<E> virtualEdges)
Finds all leaves which are destination or source of the edge
belonging to the provided list
|
java.util.List<PQTreeNode> |
getLeaves() |
java.util.List<PQTreeNode> |
getpNodes() |
java.util.List<PQTreeNode> |
getqNodes() |
PQTreeNode |
getRoot() |
void |
removeVertex(PQTreeNode node)
Removes a vertex from the graph, thus updating all relevant structures
and also removing the edges it was a part of
|
void |
setLeaves(java.util.List<PQTreeNode> leaves) |
void |
setRoot(PQTreeNode root) |
java.lang.String |
toString() |
addVertex, addVertexBeginning, adjacencyMatrix, adjacentEdges, adjacentVertices, allEdges, edgeBetween, edgeesBetween, edgesBetween, equals, getAdjacentLists, getAllSelfLoopEdges, getAllSinks, getAllSources, getEdges, getTreeLeaves, getVertexByContent, getVertices, graphMaxDegree, hasEdge, hashCode, hasSelfLoopEdges, hasVertex, inDegree, inEdges, isBiconnected, isConnected, isConnected, isCyclic, isDirected, isRing, isSimple, isSink, isSource, isTree, listBiconnectedComponents, listCutVertices, listMultiEdges, outDegree, outEdges, printAdjacencyMatrix, removeEdge, setDirected, setEdges, setVertices, subgraph, vertexDegreepublic PQTree(Graph<V,E> graph, java.util.List<E> virtualEdges, java.util.Map<V,java.lang.Integer> stNumbering)
graph - Graph for which the PQ-tree in being constructedvirtualEdges - Virtual edgesstNumbering - ST-numberingpublic void addVertex(PQTreeNode node)
GraphaddVertex in class Graph<PQTreeNode,PQTreeEdge>node - Vertex to addpublic void removeVertex(PQTreeNode node)
GraphremoveVertex in class Graph<PQTreeNode,PQTreeEdge>node - Vertex to removepublic void addEdge(PQTreeEdge... edges)
addEdge in class Graph<PQTreeNode,PQTreeEdge>public java.util.List<PQTreeNode> findLeavesOf(java.util.List<E> virtualEdges)
virtualEdges - A list of virtual edgesvirtualEdges listpublic java.util.List<PQTreeNode> allDescendantsOf(PQTreeNode node)
node - Nodenodepublic java.lang.String toString()
toString in class Graph<PQTreeNode,PQTreeEdge>public PQTreeNode getRoot()
public void setRoot(PQTreeNode root)
root - Root to setpublic java.util.List<PQTreeNode> getpNodes()
public java.util.List<PQTreeNode> getqNodes()
public java.util.List<PQTreeNode> getLeaves()
public void setLeaves(java.util.List<PQTreeNode> leaves)
leaves - the leaves to set