Class RatioVertex<V>

java.lang.Object
org.jgrapht.alg.vertexcover.util.RatioVertex<V>
Type Parameters:
V - the graph vertex type
All Implemented Interfaces:
Comparable<RatioVertex<V>>

public class RatioVertex<V> extends Object implements Comparable<RatioVertex<V>>
Helper class for vertex covers. Guarantees that vertices can be sorted, thereby obtaining a unique ordering.
Author:
Joris Kinable
  • Field Details

    • v

      public final V v
      original vertex
    • weight

      public double weight
      weight of the vertex
    • ID

      @Deprecated(since="1.5.2", forRemoval=true) public final int ID
      Deprecated, for removal: This API element is subject to removal in a future version.
      use id instead
      unique id, used to guarantee that compareTo never returns 0
    • id

      public final int id
      unique id, used to guarantee that compareTo never returns 0
    • degree

      protected int degree
      degree of this vertex
    • neighbors

      public final Map<RatioVertex<V>,Integer> neighbors
      Map of neighbors, and a count of the number of edges to this neighbor
  • Constructor Details

    • RatioVertex

      public RatioVertex(int id, V v, double weight)
      Create a new ratio vertex
      Parameters:
      id - unique id
      v - the vertex
      weight - the vertex weight
  • Method Details

    • addNeighbor

      public void addNeighbor(RatioVertex<V> v)
      Add a neighbor.
      Parameters:
      v - the neighbor
    • removeNeighbor

      public void removeNeighbor(RatioVertex<V> v)
      Remove a neighbor.
      Parameters:
      v - the neighbor to remove
    • getDegree

      public int getDegree()
      Returns the degree of the vertex
      Returns:
      degree of the vertex
    • getRatio

      public double getRatio()
      Returns the ratio between the vertex' weight and its degree
      Returns:
      the ratio between the vertex' weight and its degree
    • compareTo

      public int compareTo(RatioVertex<V> other)
      Specified by:
      compareTo in interface Comparable<V>
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object