fsprojects/FSharpx.Collections


SkewBinomialHeap<'T>

Namespace: FSharpx.Collections.Experimental

A SkewBinomialHeap is a priority queue where elements are inserted in any order, using "insert" and are extracted in either ascending or descending order using "head", "peek", "tail", "pop" or any of their "try" variants. The main advantage of the SkewBinomialHeap over the BinomialHeap is that it supports insertions in constant time O(1). (Based on "Purely Functional Data Structures" - 1996 by Chris Okasaki)

Constructors

ConstructorDescription
new(descending)
Signature: descending:bool -> 'T SkewBinomialHeap

CompiledName: .ctor

new()
Signature: unit -> 'T SkewBinomialHeap

CompiledName: .ctor

Instance members

Instance memberDescription
Count
Signature: int

CompiledName: get_Count

Head()
Signature: unit -> 'T
Insert(value)
Signature: value:'T -> 'T SkewBinomialHeap
IsDescending
Signature: bool

CompiledName: get_IsDescending

IsEmpty
Signature: bool

CompiledName: get_IsEmpty

Merge(other)
Signature: (other:'T SkewBinomialHeap) -> 'T SkewBinomialHeap
Tail()
Signature: unit -> 'T SkewBinomialHeap
ToList()
Signature: unit -> 'T list
TryHead()
Signature: unit -> 'T option
TryMerge(other)
Signature: (other:'T SkewBinomialHeap) -> 'T SkewBinomialHeap option
TryTail()
Signature: unit -> 'T SkewBinomialHeap option
TryUncons()
Signature: unit -> ('T * 'T SkewBinomialHeap) option
Uncons()
Signature: unit -> 'T * 'T SkewBinomialHeap
Fork me on GitHub