org.jscience.computing.graph.algorithms.util
Class VertexDegreeComparator

java.lang.Object
  extended by org.jscience.computing.graph.algorithms.util.VertexDegreeComparator
All Implemented Interfaces:
java.util.Comparator

public class VertexDegreeComparator
extends java.lang.Object
implements java.util.Comparator

Compares two vertices based on their degree.

Used by greedy algorithms that need to sort vertices by their degree. Two vertices are considered equal if their degrees are equal.

Since:
Nov 6, 2003

Constructor Summary
VertexDegreeComparator(UndirectedGraph g)
          Creates a comparator for comparing the degrees of vertices in the specified graph.
VertexDegreeComparator(UndirectedGraph g, boolean ascendingOrder)
          Creates a comparator for comparing the degrees of vertices in the specified graph.
 
Method Summary
 int compare(java.lang.Object v1, java.lang.Object v2)
          Compare the degrees of v1 and v2, taking into account whether ascending or descending order is used.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Comparator
equals
 

Constructor Detail

VertexDegreeComparator

public VertexDegreeComparator(UndirectedGraph g)
Creates a comparator for comparing the degrees of vertices in the specified graph. The comparator compares in ascending order of degrees (lowest first).

Parameters:
g - graph with respect to which the degree is calculated.

VertexDegreeComparator

public VertexDegreeComparator(UndirectedGraph g,
                              boolean ascendingOrder)
Creates a comparator for comparing the degrees of vertices in the specified graph.

Parameters:
g - graph with respect to which the degree is calculated.
ascendingOrder - true - compares in ascending order of degrees (lowest first), false - compares in descending order of degrees (highest first).
Method Detail

compare

public int compare(java.lang.Object v1,
                   java.lang.Object v2)
Compare the degrees of v1 and v2, taking into account whether ascending or descending order is used.

Specified by:
compare in interface java.util.Comparator
Parameters:
v1 - the first vertex to be compared.
v2 - the second vertex to be compared.
Returns:
-1 if v1 comes before v2, +1 if v1 comes after v2, 0 if equal.