|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.lucene.util.PriorityQueue
public abstract class PriorityQueue
A PriorityQueue maintains a partial ordering of its elements such that the least element can always be found in constant time. Put()'s and pop()'s require log(size) time.
Field Summary | |
---|---|
protected Object[] |
heap
|
Constructor Summary | |
---|---|
PriorityQueue()
|
Method Summary | |
---|---|
void |
adjustTop()
Should be called when the Object at top changes values. |
void |
clear()
Removes all entries from the PriorityQueue. |
protected void |
initialize(int maxSize)
Subclass constructors must call this. |
boolean |
insert(Object element)
Adds element to the PriorityQueue in log(size) time if either the PriorityQueue is not full, or not lessThan(element, top()). |
Object |
insertWithOverflow(Object element)
insertWithOverflow() is the same as insert() except its return value: it returns the object (if any) that was dropped off the heap because it was full. |
protected abstract boolean |
lessThan(Object a,
Object b)
Determines the ordering of objects in this priority queue. |
Object |
pop()
Removes and returns the least element of the PriorityQueue in log(size) time. |
void |
put(Object element)
Adds an Object to a PriorityQueue in log(size) time. |
int |
size()
Returns the number of elements currently stored in the PriorityQueue. |
Object |
top()
Returns the least element of the PriorityQueue in constant time. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Object[] heap
Constructor Detail |
---|
public PriorityQueue()
Method Detail |
---|
protected abstract boolean lessThan(Object a, Object b)
protected final void initialize(int maxSize)
public final void put(Object element)
public boolean insert(Object element)
element
-
public Object insertWithOverflow(Object element)
public final Object top()
public final Object pop()
public final void adjustTop()
{ pq.top().change(); pq.adjustTop(); }instead of
{ o = pq.pop(); o.change(); pq.push(o); }
public final int size()
public final void clear()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |