BatHeap
Functional heaps over ordered types
Ascribes to:
BatEnum.Enumerable with type 'a enumerable = 'a t
val size : 'a t -> int
Number of elements in the heap. O(1)
val empty : 'a t
The empty heap.
add x h
is the same as insert h x
. This function is intended to be used with fold_right
.
val find_min : 'a t -> 'a
Find the minimal element of the heap. O(1)
val of_list : 'a list -> 'a t
Build a heap from a given list. O(n log n)
val to_list : 'a t -> 'a list
Enumerate the elements of the heap. O(n log n)
val elems : 'a t -> 'a list
Build a heap from an enumeration. Consumes the enumeration. O(n log n)
Enumerate the elements of the heap in heap order. O(log n) per BatEnum.get
.
val print : ?first:string -> ?last:string -> ?sep:string -> ('a, 'b) BatIO.printer -> ('a t, 'b) BatIO.printer
Print the contents of the heap in heap order. O(n log n)