# Struct BinaryHeap

Binary heap implementation.

Binary heaps are really fast for ordering nodes in a way that makes it possible to get the node with the lowest F score. Also known as a priority queue.

This has actually been rewritten as a 4-ary heap for performance, but it's the same principle.

## Inner Types

## Public Methods

Adds a node to the heap.

Create a new heap with the specified initial capacity.

Removes all elements from the heap.

Rebuilds the heap by trickeling down all items.

Returns the node with the lowest F score from the heap.

## Public Static Methods

Expands to a larger backing array when the current one is too small.

Rounds up v so that it has remainder 1 when divided by D.

## Public Variables

True if the heap does not contain any elements.

Number of items in the tree.

## Public Static Variables

Number of children of each node in the tree.

The tree will grow by at least this factor every time it is expanded.

Sort nodes by G score if there is a tie when comparing the F score.

## Private/Protected Members

Internal backing array for the heap.