weka.clusterers.forOPTICSAndDBScan.Utils
Class UpdateQueue

java.lang.Object
  extended by weka.clusterers.forOPTICSAndDBScan.Utils.UpdateQueue
All Implemented Interfaces:
RevisionHandler

public class UpdateQueue
extends java.lang.Object
implements RevisionHandler

UpdateQueue.java
Authors: Rainer Holzmann, Zhanna Melnikova-Albrecht, Matthias Schubert
Date: Aug 27, 2004
Time: 5:36:35 PM
$ Revision 1.4 $

Version:
$Revision: 1.3 $
Author:
Matthias Schubert (schubert@dbs.ifi.lmu.de), Zhanna Melnikova-Albrecht (melnikov@cip.ifi.lmu.de), Rainer Holzmann (holzmann@cip.ifi.lmu.de)

Constructor Summary
UpdateQueue()
          Creates a new PriorityQueue (backed on a binary heap) with the ability to efficiently update the priority of the stored objects in the heap.
 
Method Summary
 void add(double priority, java.lang.Object o, java.lang.String objectKey)
          Adds a new Object to the queue
 double getPriority(int index)
          Returns the priority for the object at the specified index
 java.lang.String getRevision()
          Returns the revision string.
 boolean hasNext()
          Tests, if the queue has some more elements left
 UpdateQueueElement next()
          Returns the element with the lowest priority
 int size()
          Returns the queue's size
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UpdateQueue

public UpdateQueue()
Creates a new PriorityQueue (backed on a binary heap) with the ability to efficiently update the priority of the stored objects in the heap. The ascending (!) queue is dynamically growing and shrinking.

Method Detail

add

public void add(double priority,
                java.lang.Object o,
                java.lang.String objectKey)
Adds a new Object to the queue

Parameters:
priority - The priority associated with the object (in this case: the reachability-distance)
objectKey - The key for this object
o -

getPriority

public double getPriority(int index)
Returns the priority for the object at the specified index

Parameters:
index - the index of the object
Returns:
priority

size

public int size()
Returns the queue's size

Returns:
size

hasNext

public boolean hasNext()
Tests, if the queue has some more elements left

Returns:
true, if there are any elements left, else false

next

public UpdateQueueElement next()
Returns the element with the lowest priority

Returns:
next element

getRevision

public java.lang.String getRevision()
Returns the revision string.

Specified by:
getRevision in interface RevisionHandler
Returns:
the revision