nl.uu.cs.treewidth.ngraph
Class NGraph<D>

java.lang.Object
  extended by nl.uu.cs.treewidth.ngraph.NGraph<D>
All Implemented Interfaces:
java.lang.Iterable<NVertex<D>>
Direct Known Subclasses:
ListGraph

public abstract class NGraph<D>
extends java.lang.Object
implements java.lang.Iterable<NVertex<D>>


Nested Class Summary
static interface NGraph.Convertor<From,To>
           
 
Constructor Summary
NGraph()
           
 
Method Summary
 void addComment(java.lang.String c)
           
 void addEdge(NVertex<D> a, NVertex<D> b)
           
abstract  void addVertex(NVertex<D> v)
           
 void contractEdge(NEdge<D> e)
           
 void contractEdge(NVertex<D> a, NVertex<D> b)
           
 NGraph<D> copy()
           
<To> NGraph<To>
copy(NGraph.Convertor<D,To> c)
           
 void deEliminate(NVertex<D> v, java.util.ArrayList<NEdge<D>> es)
           
 java.lang.Iterable<NEdge<D>> edges()
           
 void eliminate(NVertex<D> v)
           
 java.util.ArrayList<NEdge<D>> eliminate2(NVertex<D> v)
           
 void ensureEdge(NVertex<D> a, NVertex<D> b)
           
 java.lang.String getComments()
           
 int getNumberOfEdges()
           
abstract  int getNumberOfVertices()
           
 NVertex<D> getSimplicialVertex()
           
abstract  NVertex<D> getVertex(int i)
           
abstract  java.util.Iterator<NVertex<D>> getVertices()
           
 java.util.Iterator<NVertex<D>> iterator()
           
 void printGraph(boolean toWindow, boolean toFile)
           
abstract  void removeVertex(NVertex<D> v)
           
abstract  void setVertices(java.util.ArrayList<NVertex<D>> vs)
           
 boolean testAlmostSimplicial(NVertex<D> v)
           
 boolean testSimplicial(NVertex<D> v)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NGraph

public NGraph()
Method Detail

addVertex

public abstract void addVertex(NVertex<D> v)

removeVertex

public abstract void removeVertex(NVertex<D> v)

getVertex

public abstract NVertex<D> getVertex(int i)

getVertices

public abstract java.util.Iterator<NVertex<D>> getVertices()

getNumberOfVertices

public abstract int getNumberOfVertices()

addComment

public void addComment(java.lang.String c)

getComments

public java.lang.String getComments()

iterator

public java.util.Iterator<NVertex<D>> iterator()
Specified by:
iterator in interface java.lang.Iterable<NVertex<D>>

eliminate

public void eliminate(NVertex<D> v)

eliminate2

public java.util.ArrayList<NEdge<D>> eliminate2(NVertex<D> v)

deEliminate

public void deEliminate(NVertex<D> v,
                        java.util.ArrayList<NEdge<D>> es)

ensureEdge

public void ensureEdge(NVertex<D> a,
                       NVertex<D> b)

addEdge

public void addEdge(NVertex<D> a,
                    NVertex<D> b)

edges

public java.lang.Iterable<NEdge<D>> edges()

getNumberOfEdges

public int getNumberOfEdges()

contractEdge

public void contractEdge(NEdge<D> e)

contractEdge

public void contractEdge(NVertex<D> a,
                         NVertex<D> b)

getSimplicialVertex

public NVertex<D> getSimplicialVertex()

testSimplicial

public boolean testSimplicial(NVertex<D> v)

testAlmostSimplicial

public boolean testAlmostSimplicial(NVertex<D> v)

setVertices

public abstract void setVertices(java.util.ArrayList<NVertex<D>> vs)

copy

public <To> NGraph<To> copy(NGraph.Convertor<D,To> c)

copy

public NGraph<D> copy()

printGraph

public void printGraph(boolean toWindow,
                       boolean toFile)