Package squidpony.squidmath
Class BinaryHeap<T extends BinaryHeap.Node>
java.lang.Object
squidpony.squidmath.BinaryHeap<T>
public class BinaryHeap<T extends BinaryHeap.Node> extends Object
A binary heap that stores nodes which each have a double value and are sorted either lowest first or highest first.
The
BinaryHeap.Node class can be extended to store additional information.- Author:
- Nathan Sweet
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBinaryHeap.NodeA binary heap node. -
Field Summary
Fields Modifier and Type Field Description intsize -
Constructor Summary
Constructors Constructor Description BinaryHeap()BinaryHeap(int capacity, boolean isMaxHeap) -
Method Summary
Modifier and Type Method Description Tadd(T node)Adds the node to the heap using its current value.Tadd(T node, double value)Sets the node's value and adds it to the heap.voidclear()booleancontains(T node, boolean identity)Returns true if the heap contains the specified node.booleanequals(Object obj)inthashCode()booleanisEmpty()Returns true if the heap is empty.booleannotEmpty()Returns true if the heap has one or more items.Tpeek()Returns the first item in the heap.Tpop()Removes the first item in the heap and returns it.Tremove(T node)voidsetValue(T node, double value)Changes the value of the node, which should already be in the heap.StringtoString()
-
Field Details
-
Constructor Details
-
BinaryHeap
public BinaryHeap() -
BinaryHeap
-
-
Method Details
-
add
Adds the node to the heap using its current value. The node should not already be in the heap. -
add
Sets the node's value and adds it to the heap. The node should not already be in the heap. -
contains
Returns true if the heap contains the specified node.- Parameters:
identity- If true, == comparison will be used. If false, .equals() comparison will be used.
-
peek
Returns the first item in the heap. This is the item with the lowest value (or highest value if this heap is configured as a max heap). -
pop
Removes the first item in the heap and returns it. This is the item with the lowest value (or highest value if this heap is configured as a max heap). -
remove
-
notEmpty
Returns true if the heap has one or more items. -
isEmpty
Returns true if the heap is empty. -
clear
-
setValue
Changes the value of the node, which should already be in the heap. -
equals
-
hashCode
-
toString
-