org._3pq.jgrapht.alg.util

Class VertexDegreeComparator

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.

Author:
Linda Buisman
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(Object v1, Object v2)
Compare the degrees of v1 and v2, taking into account whether ascending or descending order is used.

Constructor Details

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 Details

compare

public int compare(Object v1,
                   Object v2)
Compare the degrees of v1 and v2, taking into account whether ascending or descending order is used.
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.