Blame |
Last modification |
View Log
| RSS feed
%File: ~/OOP/graph/graph/GraphPartitioner.tex
%What: "@(#) GraphPartitioner.tex, revA"
\noindent {\bf Files} \\
\indent \#include $<\tilde{ }$/graph/partitioner/GraphPartitioner.h$>$ \\
\noindent {\bf Class Declaration} \\
\indent class GraphPartitioner: \\
\noindent {\bf Class Hierarchy} \\
\indent {\bf GraphPartitioner} \\
\indent\indent Metis \\
\noindent {\bf Description} \\
\indent GraphPartitioner is an abstract class. The GraphPartitioner
class defines the interface that all programmers must provide when
introducing new GraphPartitioner subclasses. A GraphPartitioner is an
algorithm for partitioning (coloring) the vertices of a graph; that is
assigning a color (1 through the number of partitions) to each vertex
of the graph. \\
\noindent {\bf Class Interface} \\
\indent\indent // Constructor \\
\indent\indent {\em GraphPartitioner();} \\ \\
\indent\indent // Destructor \\
\indent\indent {\em virtual~$\tilde{}$GraphPartitioner();} \\ \\
\indent\indent // Public Methods \\
\indent\indent {\em virtual int partition(Graph \&theGraph, int numPart) =0;} \\
\noindent {\bf Constructor} \\
\indent {\em GraphPartitioner();} \\
To construct a GraphPartitioner. \\
\noindent {\bf Destructor} \\
\indent {\em virtual~$\tilde{}$GraphPartitioner();} \\
\noindent {\bf Public Methods } \\
\indent {\em virtual int partition(Graph \&theGraph, int numPart) =0;} \\
This is the method invoked to partition the graph into {\em numPart}
partitions. On completion of the routine each vertex will be assigned
a color $1$ through {\em numPart}, the color assigned indicating the
partition to which the vertex belongs. Returns a $0$ if successful, a
negative number if not; the value depending on the subclass. \\