Skip to content

Typed API (TypeDoc)


Typed API (TypeDoc) / FibonacciHeap

Class: FibonacciHeap<E> ​

Defined in: heap.ts:315

Since ​

2.0.0

Type Parameters ​

E ​

E

Value type.

Implements ​

Constructors ​

Constructor ​

new FibonacciHeap<E>(comparator, elements?): FibonacciHeap<E>

Defined in: heap.ts:338

Parameters ​

comparator ​

Comparator<E>

Ordering strategy.

elements? ​

Iterable<E, any, any>

Optional seed data.

Returns ​

FibonacciHeap<E>

Properties ​

comparator ​

comparator: Comparator<E>

Defined in: heap.ts:331

Comparator used for equality/sort checks.

Implementation of ​

IFibonacciHeap.comparator


minNode ​

minNode: FibonacciHeapNode<E>

Defined in: heap.ts:323

Current minimum node

Implementation of ​

IFibonacciHeap.minNode


rootList ​

rootList: FibonacciHeapNode<E>

Defined in: heap.ts:319

List of root nodes of the FibonacciHeap

Implementation of ​

IFibonacciHeap.rootList


size ​

size: number = 0

Defined in: heap.ts:327

Current element count.

Implementation of ​

IFibonacciHeap.size

Methods ​

[iterator]() ​

[iterator](): Iterator<E>

Defined in: heap.ts:753

Iterator for iterating through the values of the FibonacciHeapNodes.

Returns ​

Iterator<E>

Implementation of ​

IFibonacciHeap.[iterator]


add() ​

add(e): FibonacciHeapNode<E>

Defined in: heap.ts:393

Append an element.

Parameters ​

e ​

E

Returns ​

FibonacciHeapNode<E>

Remarks ​

Complexity: Amortized O(1) unless stated otherwise.

Implementation of ​

IFibonacciHeap.add


addAll() ​

addAll(collection): void

Defined in: heap.ts:400

Append every element from another collection.

Parameters ​

collection ​

ICollection<E>

Returns ​

void

Remarks ​

Complexity: O(n + m) where m is collection.size.

Implementation of ​

IFibonacciHeap.addAll


clear() ​

clear(): void

Defined in: heap.ts:529

Clears the FibonacciHeap, bei undefining the min node and rootList.

Returns ​

void

Remarks ​

Complexity: O(1)

Implementation of ​

IFibonacciHeap.clear


contains() ​

contains(element): boolean

Defined in: heap.ts:380

Test membership using the comparator when available.

Parameters ​

element ​

E

Returns ​

boolean

Remarks ​

Complexity: O(n) worst case

Implementation of ​

IFibonacciHeap.contains


decreaseKey() ​

decreaseKey(node, newValue): void

Defined in: heap.ts:427

Decrease a node's key and bubble it up if necessary.

Parameters ​

node ​

FibonacciHeapNode<E>

Target node handle.

newValue ​

E

New value (must compare <= old value). Pass null/undefined to mark the node as the next minimum.

Returns ​

void

Throws ​

When newValue is greater than the current value.

Remarks ​

Complexity: O(1) amortized

Implementation of ​

IFibonacciHeap.decreaseKey


delete() ​

delete(e): FibonacciHeapNode<E>

Defined in: heap.ts:413

Delete a node using its handle.

Parameters ​

e ​

FibonacciHeapNode<E>

Node handle obtained from insert.

Returns ​

FibonacciHeapNode<E>

Removed node.

Remarks ​

Complexity: O(log n) amortized

Implementation of ​

IFibonacciHeap.delete


extractChildren() ​

extractChildren(node): CyclicDoublyLinkedList<FibonacciHeapNode<E>>

Defined in: heap.ts:564

Return the child list of a node.

Parameters ​

node ​

FibonacciHeapNode<E>

Parent node.

Returns ​

CyclicDoublyLinkedList<FibonacciHeapNode<E>>

Cyclic list of children.

Implementation of ​

IFibonacciHeap.extractChildren


extractMin() ​

extractMin(): FibonacciHeapNode<E>

Defined in: heap.ts:462

Returns and removes the minimum node from the FibonacciHeap.

Returns ​

FibonacciHeapNode<E>

Removed minimum node.

Remarks ​

Complexity: O(log n) amortized

Implementation of ​

IFibonacciHeap.extractMin


extractNeighbours() ​

extractNeighbours(node, includeSelf): CyclicDoublyLinkedList<FibonacciHeapNode<E>>

Defined in: heap.ts:541

Collect sibling nodes adjacent to the provided node.

Parameters ​

node ​

FibonacciHeapNode<E>

Starting node.

includeSelf ​

boolean = false

Whether to include node in the output.

Returns ​

CyclicDoublyLinkedList<FibonacciHeapNode<E>>

Cyclic list of neighbour nodes.

Implementation of ​

IFibonacciHeap.extractNeighbours


insert() ​

insert(element): FibonacciHeapNode<E>

Defined in: heap.ts:354

Insert a value and return its node handle.

Parameters ​

element ​

E

Value to insert.

Returns ​

FibonacciHeapNode<E>

Newly created node.

Remarks ​

Complexity: O(1)

Implementation of ​

IFibonacciHeap.insert


isEmpty() ​

isEmpty(): boolean

Defined in: heap.ts:521

Check for emptiness.

Returns ​

boolean

true when size === 0.

Implementation of ​

IFibonacciHeap.isEmpty


minimum() ​

minimum(): FibonacciHeapNode<E>

Defined in: heap.ts:452

Returns the current minimum node in the FibonacciHeap.

Returns ​

FibonacciHeapNode<E>

Current minimum node.

Remarks ​

Complexity: O(1)

Implementation of ​

IFibonacciHeap.minimum


nodeIterator() ​

nodeIterator(): Generator<FibonacciHeapNode<E>, void, unknown>

Defined in: heap.ts:744

Iterator for iterating all FibonacciHeapNodes.

Returns ​

Generator<FibonacciHeapNode<E>, void, unknown>


remove() ​

remove(target, isIndex): number | E

Defined in: heap.ts:795

Remove by value or index.

Parameters ​

target ​

number | E

isIndex ​

boolean = true

When true, treat e as index.

Returns ​

number | E

Removed element or index of removal.

Throws ​

If neither argument nor existing comparator are set.

Remarks ​

Complexity: O(n) worst case.

Implementation of ​

IFibonacciHeap.remove


reverseIterator() ​

reverseIterator(): Generator<E>

Defined in: heap.ts:772

Reverse iterate through the values of the FibonacciHeap.

Returns ​

Generator<E>

Implementation of ​

IFibonacciHeap.reverseIterator


sort() ​

sort(cmp?): void

Defined in: heap.ts:784

This sort function changes the comparator (!), if one is given as parameter.

Parameters ​

cmp? ​

Comparator<E>

Returns ​

void

Implementation of ​

IFibonacciHeap.sort


union() ​

union(heap): void

Defined in: heap.ts:497

Merge another heap into this one.

Parameters ​

heap ​

IFibonacciHeap<E>

to merge in the current one

Returns ​

void

Remarks ​

Complexity: O(1)

Implementation of ​

IFibonacciHeap.union

Built with VitePress – Released under the MIT License.